2017-09-02 128 views
1

我们有一个使用bitronix事务管理器的弹簧批处理过程。在特定步骤的第一遍中,我们看到预期的提交行为 - 数据仅在达到事务边界时才提交给目标数据库。Bitronix事务似乎过早提交

但是,在第二次及以后的通行中,只要行被写入就立即提交行。也就是说,他们不会等待提交点。

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

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

回答

0

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