spring postgresql jpa jta 事务交错不支持

问题描述

我使用 spring jpa(hibernate) atomikos jta 事务。在数据库端执行第一条语句后 1 分钟内连接关闭自动 pgbouncer)。但 Spring 事务继续。 第一个查询执行然后调用 ws 或其他工作(1 分钟过去)。然后第二个查询执行 然后抛出异常不支持事务交错。

如果我使用非 Xa 数据源,则异常是更改 statestaleobjectException ,行已更新另一个事务或更新 (0)..

解决方法

这是 PostgreSQL 驱动程序中的一个已知限制。它发生在某些情况下,例如当您在同一事务中重复执行 SQL 调用时。

我不确定您是否有预算,但 ExtremeTransactions(产品的商业版本)的 Atomikos 免费试用版包含一个解决方法。

如果有兴趣,您可以在这里申请:http://atomikos.com/Main/ExtremeTransactionsFreeTrial

干杯

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...