Changes between Version 2 and Version 3 of Ticket #142, comment 4
- Timestamp:
- 09/27/2013 04:26:56 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #142, comment 4
v2 v3 2 2 3 3 * 数据库那边缺省设置是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表也可以看到有些长时间存在的事务没有提交。 5 5 * 同时这个定时任务本身在每个循环里也有些查询的操作,估计这些查询的事务堆积后,做update和insert操作时会有锁的影响或者需要等链接资源才可以执行,这也是为什么在开发环境没试出来的原因,开发环境没有什么查询的操作在同时进行。 6 6 * 用最原始的jdbc配置建立连接后,拿到的应该是干净的链接了,所以会有明显的好转。
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)