日期:2014-05-17  浏览次数:20772 次

tomcat 中抛异com.mysql.jdbc.exceptions.MySQLTransactionRollbackException
tomcat中抛出异常:
com.mysql.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting

请问这是什么问题?该如何解决?谢谢......

------解决方案--------------------
检查Connection是否重复关闭。最大可能就是关闭连接后有去执行关闭操作!
------解决方案--------------------
Deadlock found when trying to get lock;

,在InnoDB引擎上,当同一条记录上的锁深度(个数)超过LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK(代码中这个常量值为200)或锁开销大于LOCK_MAX_N_STEPS_IN_DEADLOCK_CHECK(代码中这个常量值为1000000)时,MySQL会给出“TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH”信息,并放弃所有的锁检测,直接报“Deadlock found when trying to get lock”错误

MySQL 5.1.X中,提供了新的锁模式,对于简单的取自增值insert语句,只在获得auto_increment值的时候对自增计数器加上一个轻量级的 X lock,而非表级锁,并且在得到auto_increment值后就立即释放了,而不是等到insert语句执行完才释放
设置 innodb_autoinc_lock_mode=0 沿用表级auto-inc锁
设置 innodb_autoinc_lock_mode=1 使用新的计数器级auto-inc锁


从网上找的哦
------解决方案--------------------
在InnoDB引擎上,当同一条记录上的锁深度(个数)超过LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK(代码中这个常量值为200)或锁开销大于LOCK_MAX_N_STEPS_IN_DEADLOCK_CHECK(代码中这个常量值为1000000)时,MySQL会给出“TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH”信息,并放弃所有的锁检测,直接报“Deadlock found when trying to get lock”错误

MySQL 5.1.X中,提供了新的锁模式,对于简单的取自增值insert语句,只在获得auto_increment值的时候对自增计数器加上一个轻量级的 X lock,而非表级锁,并且在得到auto_increment值后就立即释放了,而不是等到insert语句执行完才释放
设置 innodb_autoinc_lock_mode=0 沿用表级auto-inc锁
设置 innodb_autoinc_lock_mode=1 使用新的计数器级auto-inc锁

------解决方案--------------------
这个还真不知道哦,楼上都从网上找了,应该就是了吧!