繁体   English   中英

在运行时具有多个数据源的Spring批处理

[英]spring batch with multiple datasources at runtime

我必须在表中搜寻一些已配置的数据库。 每个记录都指定要从中读取的模式。 因此,我们必须轮询表并适当地运行作业。

被认为使用Spring批处理(JdbcPagingItemReader)从所有已配置的Schema中读取数据。 如果我必须配置它,如何使用Spring Batch做到这一点?

我应该使用不同的读取器来为每个数据库读取多个作业,还是应该以某种方式在运行时发送数据源以供Spring Batch读取数据?

如何为单个Spring Batch管理多个数据库。 如果没有,那么是否有其他有关数据库爬网(或收获)的建议?

如果您只是在运行查询以获取一些数据然后再运行其他查询,那么这实际上与Spring Batch的功能不符。 那只是一个标准的JDBC或JPA类型的DAO / Service设置。 您可以使用Quartz或Spring Scheduler为检查表的时间设置CRON值。

使用Spring Batch有2个解决方案:

  • 在运行时通过JobParameters传递DataSource属性(URL,用户名,密码...)。 这意味着第一次阅读的阅读逻辑(告诉您阅读什么)必须在工作之外完成
  • 有一个包含两个步骤的作业,第一个步骤在JobExecutionContext执行“元数据”读取并将结果存储在JobExecutionContext ,第二个步骤在运行时使用先前存储的值进行实际读取

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM