报错
could not commit JDBC transaction:nested exception is java.sql.SQLException
io.seata.core.exception.RmTransactionException: Response[ TransactionException[Could not found global transaction xid = 192.168.0.123:8091:999975974789716363, may be has finished.] ]
解决
- 这次解决是清理了 undo_log 表之后,服务正常使用。不知道原因
- 一般服务超时会导致。
服务完成时间太长了,全局事务此时已经回滚 - @GlobalTransationl和@Transationl位置产生问题
@GlobalTransationl得写在外层,不能出现在@Transationl的内层 - 几台服务器间时间不一致,重新同步时间之后,问题解决
文章描述了一个关于Seata在处理JDBC事务时遇到的问题,即CouldnotcommitJDBCtransaction,原因是全局事务ID无法找到,可能已回滚。解决方案包括清理undo_log表和调整服务时间一致性。正确使用@GlobalTransactional和@Transactional注解,确保全局事务注解在更外层,避免因服务执行时间过长导致的超时问题。
4694

被折叠的 条评论
为什么被折叠?



