1

我们有一个使用 bitronix 事务管理器的 spring-batch 进程。在特定步骤的第一遍中,我们看到了预期的提交行为——数据仅在达到事务边界时提交到目标数据库。

但是,在第二次和随后的传递中,行在写入后立即提交。也就是说,他们不等待提交点。

我们已经确认 bitronix 提交仅在预期点被调用。

有没有人经历过这种行为?我在寻找什么样的错误?

4

1 回答 1

0

Java XA 的设计方式使得连接不能跨事务重用。事务提交后,连接属性更改为 autocommit=true,并且该连接不能在另一个事务中使用,直到它返回到连接池并再次由 XA 代码检索。

于 2017-09-09T13:18:38.060 回答