当我们得到:
(com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException:尝试获取锁定时发现死锁;尝试重新启动事务)或(事务超时)?
我正在使用 MySQL(innoDB ENGINE)和 Java。请帮助并链接任何有用的资源或代码。
当我们得到:
(com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException:尝试获取锁定时发现死锁;尝试重新启动事务)或(事务超时)?
我正在使用 MySQL(innoDB ENGINE)和 Java。请帮助并链接任何有用的资源或代码。
如果您使用普通 JDBC,则必须手动循环执行(并且不要忘记每次都检查前置条件。
如果您使用 spring,“如何在 Spring 中在死锁/锁定超时时重新启动事务? “灵魂帮助。
当您在 catch 块中捕获此类异常时
catch(Exception e){
if(e instanceof TransactionRollbackException){
//Retrigger Your Transaction
}
// log your exception or throw it its upto ur implementation
}