java - jobRepository 是否必须使用与 JdbcBatchItemWriter 相同的事务管理器?

标签 java spring spring-batch

我正在开发 Spring Batch 企业应用程序。该应用程序的目标是将记录写入我工作的公司的旧数据库中的表中。该数据库确实是一个大男孩,它将业务和客户信息存储在具有数亿条记录的大量模式和表中,还有数百个应用程序连接到它:ERP、CRMS、内部应用程序、.com。

因此,我无法创建 jobRepository 所需的作业元数据表,因为我无法在该旧数据库中创建新表。但同时我需要能够监视作业,因此我希望 jobRepository 指向另一个数据源。

我应该创建另一个事务管理器并在 jobRepository 中使用它吗?我正在使用带有 block 任务和 JdbcBatchItemWriter 的 tasklet 步骤

最佳答案

是的,他们使用相同的事务管理器。在您的情况下,您需要 JTA 事务管理器,因为您将数据(批量元数据和业务数据)写入两个不同的数据库。 阅读 this comment接下来很少有;解释得很好。

关于java - jobRepository 是否必须使用与 JdbcBatchItemWriter 相同的事务管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18795882/

相关文章:

java - 仅当查询未找到任何结果时才出现错误 java.lang.ClassNotFoundException : org. springframework.orm.jpa.EntityManagerFactoryUtils

java - 停止后是否可以重新开始工作?

java - 具有固定顺序的Spring Batch多线程作业

java - 在Kotlin中创建JPA规范对象

java - 如何从主方法访问驱动程序到另一个方法

java - Java 中的开源排队论算法

java - 将任意对象注入(inject) Spring bean

java - 写入docx文件

java - Spring Security应用程序调用事件监听器

java - 如何在 Spring-XD 作业中使用 shellCommandProceccesor