有没有办法 MySQLMaxValueIncrementer 在春季批处理中连接到多个数据源
Posted
技术标签:
【中文标题】有没有办法 MySQLMaxValueIncrementer 在春季批处理中连接到多个数据源【英文标题】:Is there a way MySQLMaxValueIncrementer connects to multiple datasources in spring batch 【发布时间】:2021-06-07 07:31:39 【问题描述】:我的项目中有 2 个数据源 datasource1 连接到 datahost1 和 datasource2 连接到 datahost 2。我有 2 个作业为 datasource1 和 datasource 2 触发,现在 mysqlMaxValueIncrementer 应该连接到 datasource1 以从 datasource1 获取下一个增量 Id 并用于第二个作业它应该从第二个数据源获取。由于只有一个 MySQLMaxValueIncrementer,它连接到单个数据源。有什么办法可以通过dynamicalluy说在运行时根据条件使用数据源来解决这个问题
【问题讨论】:
【参考方案1】:JobRepository
可以配置一个DataFieldMaxValueIncrementer
(通过DataFieldMaxValueIncrementerFactory
)。
如果您想对两个作业使用相同的JobRepository
,那么您需要提供一个能够处理两个数据源的自定义增量器。
否则,您需要为每个作业创建一个单独的JobRepository
。
【讨论】:
以上是关于有没有办法 MySQLMaxValueIncrementer 在春季批处理中连接到多个数据源的主要内容,如果未能解决你的问题,请参考以下文章