两个数据库的Spring批处理事务管理器

时间:2015-04-21 02:03:01

标签: spring-batch spring-jdbc spring-batch-admin

我正在从数据库中读取并通过Spring Batch写入另一个数据库。我需要两个交易经理吗?我正在读' n'来自第一个数据库的行,处理它们然后写入' m'行进入第二个数据库。我使用的是jdbc,但不是JPA或Hibernate。

1 个答案:

答案 0 :(得分:1)

只有当目标数据源(写入数据的地方,我的意思)与数据源保存SB元数据表不同时,才需要XA。如果目标数据库是相同的,则包含元数据表,则不需要XA 在成瘾中,AbstractCursorItemReader为基础使用单独的连接进行阅读。

  

默认情况下,将使用单独的连接打开光标。该   无论提交还是滚动,光标的ResultSet都保持打开状态   在周围的交易中支持。这位读者的客户是   负责在需要的情况下缓冲项目   重新呈现回滚。该缓冲由该步骤处理   提供的实现,只是任何人写作的关注   他们自己的步骤实施。

(同样看this question