我必须在表中爬行一些已配置的数据库。其中每条记录指定要从中读取的模式。因此我们必须轮询表并适本地运行作业。
考虑使用Spring批处理(JdbcPagingItemReader)从所有配置的Schema中读取数据。如果我必须配置这个,我该如何使用 Spring Batch 来完成它?
我应该使用不同的读取器为每个数据库读取多个作业,还是有什么方法可以在运行时发送数据源以便 Spring Batch 从中读取数据?
我如何管理单个 Spring Batch 的多个数据库。如果没有,对于数据库抓取(或收获)还有其他建议吗?
最佳答案
使用 Spring Batch 有 2 种解决方案:
- 在运行时通过
JobParameters
传递DataSource
属性(url、用户名、密码......)。这意味着第一次读取的读取逻辑(告诉您要读取什么的逻辑)必须在作业之外完成 - 有一个包含 2 个步骤的作业,第一个步骤执行“元数据”读取并将结果存储在
JobExecutionContext
中,第二个步骤使用之前在运行时存储的值进行实际读取
关于java - 运行时具有多个数据源的 Spring Batch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33790185/