Changes between Version 2 and Version 3 of Ticket #142, comment 4


Ignore:
Timestamp:
09/27/2013 04:26:56 PM (13 years ago)
Author:
chenchongqi
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #142, comment 4

    v2 v3  
    22 
    33* 数据库那边缺省设置是autocommit = 0,目的是应用这边如果有异常的时候能够完整回滚,否则大家每个sql一执行就提交了,无法保证完整回滚。 
    4 * autocommit关掉的状况下,我们是通过aop配置来commit的,并且在autocommit=0时,select也要显式commit,但是之前的配置里,有些查询的方法aop没覆盖到,这样有可能导致这个定时任务执行update时拿到的数据库连接池里的链接是有残留未提交事务的,没有commit或者rollback就丢回了连接池,这个通过在dba那里查innodb_trx表也可以看到有些长时间存在的事务没有提交。 
     4* autocommit关掉的状况下,我们是通过aop配置来commit的,并且在autocommit=0时,select也要显式commit,但是之前的配置里,有些查询的方法aop没覆盖到,没有commit或者rollback就丢回了连接池,这样有可能导致这个定时任务执行update时拿到的数据库连接池里的链接是有残留未提交事务的,这个通过在dba那里查innodb_trx表也可以看到有些长时间存在的事务没有提交。 
    55* 同时这个定时任务本身在每个循环里也有些查询的操作,估计这些查询的事务堆积后,做update和insert操作时会有锁的影响或者需要等链接资源才可以执行,这也是为什么在开发环境没试出来的原因,开发环境没有什么查询的操作在同时进行。 
    66* 用最原始的jdbc配置建立连接后,拿到的应该是干净的链接了,所以会有明显的好转。