java - 运行时具有多个数据源的 Spring Batch

标签 java datasource spring-batch

我必须在表中爬行一些已配置的数据库。其中每条记录指定要从中读取的模式。因此我们必须轮询表并适本地运行作业。

考虑使用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/

相关文章:

grails - 配置 grails 来创建数据库(如果数据库不存在)。

java - 使用 JsonItemReader 解析文件名并处理每条记录

java - 由: com. mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException引起:表 'test.raw_report'不存在

java - 数字文字后缀的编码约定?

java - 尝试创建 EXE 文件时出现 "Unable to create javax script engine for javascript"错误

java - findMin 惰性删除二叉搜索树

java - 在eclipse中导入SwingX jar库

java - Spring oracle数据源不破坏连接

ios - 将消息从数据源对象发送到 View objective-c

spring - ElasticsearchItemReader 不断读取相同的记录