【发布时间】:2017-03-13 09:27:45
【问题描述】:
我正在使用 Weblogic 12c,在我的应用程序中提交分布式事务时出现以下错误。
"java.sql.SQLException: 分布式事务中无法调用Connection.commit。分布式事务提交时事务管理器会提交资源管理器"
代码抛出异常的部分是:
Session sessionNew = HibernateService.getService().getSession();
sessionNew.connection().commit();
这个问题已经被问过好几次了,但我正在寻求的解决方案是不同的。 最常见的解决方案是禁用 XA 事务来解决问题。 但我的应用程序包含的不仅仅是数据库、JMS 等资源。 任何人都可以提出上述解决方案以外的解决方案。
另外,我需要了解 JTA 事务超时值与上述错误之间是否有任何关系。
非常感谢。
【问题讨论】:
-
如果您真的需要 XA 事务,您必须让事务管理器提交或回滚事务。您的代码不应显式调用提交或回滚。
-
@EmmanuelCollin,谢谢。如果我删除第二行,它应该不会影响应用程序吗?上面的错误和JTA事务超时值有什么关系吗?
-
错误信息和JTA超时没有关系。
标签: java weblogic weblogic12c jta xa