我有一个更新多行的JDBC事务。在事务中间数据库连接丢失。然后,由于数据库连接丢失,事务无法回滚或提交。
以下是DB / tx详细信息。
当发生这种情况时,事务处理的锁仍然存在于DB中。
以下是" SHOW ENGINE INNODB STATUS \ G的输出;"命令。
--- TRANSACTION 69476,ACTIVE 5395秒 96个锁定结构,堆大小24784,301行锁定,撤消日志条目301
编辑: 以下是代码片段
Ebean.beginTransaction(TxIsolation.REPEATABLE_READ);
boolean foundError = false;
for (Object object : objectList) {
if (!saveObject(object)) {
foundError = true;
break;
}
}
if (foundError) {
Ebean.endTransaction();
} else {
Ebean.commitTransaction();
}
public boolean saveObject(Object object) {
try {
Ebean.save(object);
} catch (Exception e) {
return false;
}
return true;
}