4

当我们得到:

(com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException:尝试获取锁定时发现死锁;尝试重新启动事务)或(事务超时)?

我正在使用 MySQL(innoDB ENGINE)和 Java。请帮助并链接任何有用的资源或代码。

4

2 回答 2

1

如果您使用普通 JDBC,则必须手动循环执行(并且不要忘记每次都检查前置条件。
如果您使用 spring,“如何在 Spring 中在死锁/锁定超时时重新启动事务? “灵魂帮助。

于 2011-07-11T07:09:52.627 回答
1

当您在 catch 块中捕获此类异常时

catch(Exception e){
if(e instanceof TransactionRollbackException){
 //Retrigger Your Transaction
   }
// log your exception or throw it its upto ur implementation
}
于 2011-07-11T07:57:39.303 回答