我正在开发一个Spring Batch企业应用程序。该应用程序的目标是将记录写入我工作的公司的遗留数据库中的表。该数据库真的很棒,它将业务和客户信息存储在拥有数亿条记录的大量模式和表中,还有数百个连接到它的应用程序:ERP,CRMS,内部应用程序,.com。
因此,我无法创建jobRepository所需的作业元数据表,因为我无法在该旧数据库中创建新表。但同时我需要能够监视作业,所以我希望jobRepository指向另一个数据源。
我应该创建另一个事务管理器并在jobRepository中使用它吗?我正在使用带有块任务的tasklet步骤和JdbcBatchItemWriter
答案 0 :(得分:2)
是的,他们使用相同的事务管理器。在您的情况下,您需要一个JTA事务管理器,因为您将数据(batch-medatada和业务数据)写入两个不同的数据库。
阅读this comment,接下来几点;很好地解释了。