问题描述
我的项目中有 2 个数据源 datasource1 连接到 datahost1 并且 datasource2 连接到 datahost 2。我有 2 个作业为 datasource1 和 datasource 2 触发,现在 MysqLMaxValueIncrementer 应该连接到 datasource1 以从 datasource1 和第二个作业获取下一个增量 Id它应该来自第二个数据源。由于只有一个 MysqLMaxValueIncrementer,它连接到单个数据源。有什么办法可以通过动态说在运行时根据条件使用数据源来解决这个问题
解决方法
JobRepository
可以配置为单个 DataFieldMaxValueIncrementer
(通过 DataFieldMaxValueIncrementerFactory
)。
如果您想对两个作业使用相同的 JobRepository
,那么您需要提供一个能够处理两个数据源的自定义增量器。
否则,您需要为每个作业创建一个单独的 JobRepository
。