【问题标题】:executeBatch() locks table when updatingexecuteBatch() 更新时锁定表
【发布时间】:2016-05-28 01:56:06
【问题描述】:

我正在使用preparedStatement 和executebatch 执行更新,如下所示:

query = "UPDATE BP_PROCESO SET " +
                "FILTROS = FILTROS||?, " +
                "COD_ETAPA_RECHAZO= ?," +
                "APROBADO=? " +
                "WHERE " +
                "NIU=? AND " +
                "COD_CAMPANIA = ?";
        ps = con.prepareStatement(query);


Iterator it = registros.entrySet().iterator();

while(it.hasNext()){

         int contador = 1;
            ps.setObject(contador++, cadenaFiltro);
            ps.setObject(contador++, etapaRechazo);
            ps.setObject(contador++, 0);
            ps.setObject(contador++, pojo.getNiu());
            ps.setObject(contador++, codigoCampania);
            ps.addBatch();
            if(respuesta %500==0){
                System.out.println(respuesta);
                ps.executeBatch();
                System.out.println("executed");
                ps.clearBatch();
            }
 }

在第一次 ps.executeBatch() 表被锁定时,但是我在 Apache Tomcat 中调试并且它没有被锁定,应用程序安装在 Websphere 7.0.0.17 中,我通过 JNDI 获得连接

有人知道吗?

【问题讨论】:

    标签: java prepared-statement websphere-7


    【解决方案1】:

    您是否在两个应用服务器中使用相同的事务隔离级别?如果您不确定,可以通过调用con.getTransactionIsolation() 并比较值来检查。大多数 JDBC 驱动程序的默认值是 java.sql.Connection.TRANSACTION_READ_COMMITTED (2),而 WebSphere Application Server 对大多数数据库使用默认值 java.sql.Connection.TRANSACTION_REPEATABLE_READ (4)。事务隔离级别会影响数据库中的锁定操作,TRANSACTION_REPEATABLE_READ 通常比TRANSACTION_READ_COMMITTED 涉及更多限制性锁定。以编程方式更改事务隔离级别,例如,您可以在获得连接后执行con.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_COMMITED)。请注意,您还可以通过 webSphereDefaultIsolationLevel 数据源自定义属性覆盖数据源级别的默认事务隔离级别。您还可以在用于获取数据源的资源引用的资源引用扩展上配置事务隔离级别。

    以下技术说明包含有关 WebSphere Application Server 中事务隔离级别的其他信息,

    http://www-01.ibm.com/support/docview.wss?uid=nas8N1012999

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 2013-05-26
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      相关资源
      最近更新 更多