当前位置: 首页 > 知识库问答 >
问题:

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

姜弘化
2023-03-14

我必须在表中的一些配置数据库中爬行。其中每个记录指定要从中读取的模式。因此,我们必须对表格进行投票,并适当地运行作业。

考虑使用Spring批处理(JdbcPagingItemReader)从所有配置的模式中读取数据。如果我必须配置它,如何使用Spring批处理?

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

如何为单个Spring Batch管理多个数据库。如果没有,对数据库爬行(或收获)还有其他建议吗?

共有2个答案

尹晟
2023-03-14

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

皇甫宇定
2023-03-14

使用Spring Batch有两种解决方案:

  • 传递数据源属性(url、用户名、密码……)在运行时通过作业参数。这意味着第一次阅读的阅读逻辑(告诉你要读什么的逻辑)必须在工作之外完成
 类似资料:
  • 我正在编写Spring批的Spring Boot应用程序,其中ItemReader从Oracle数据库读取数据并将数据写入postgres sql,但我得到了以下错误 我不想创建spring批处理元数据表,我的应用程序不需要监视作业,请就此向我提出建议。提前谢谢!!

  • 我的系统有三个数据源,都以名为datasourceA、datasourceB、datasourceC的bean的形式公开。我试图将spring batch的数据源设置为datasourceB,但我遇到了一些问题。 我的Spring班 在这个设置中,我在启动时会遇到这个错误 我无法将我的任何数据源设置为@Prime,因为我的Spring批处理编写器使用所有3个数据源进行读取和写入。我正在使用JPA存

  • 我有一个spring批处理应用程序,可以将5M条记录从一个文件加载到SQL Server数据库中。我有根据国家代码区分的不同数据源。当我使用带有@primary注释的单个数据源时,spring batch writer在5分钟内写入5M条记录。但是,当我使用@bean注释给出多个数据源并使用一个非主数据源将文件数据写入数据库时,perforamnce变得非常慢,对于同样的500万条记录,大约需要1

  • 我需要访问两个数据源: Spring批处理存储库:在内存H2中 我的步骤需要访问。 我在那里看到了几个关于如何创建自定义

  • 我的场景是,批处理作业应该从1db(H2)读取数据,并将数据转储到另一DB(postgres)中。因此,我配置了多个数据源 我已经使用spring batch 4.2和spring boot 2.2.5编写了批处理作业。释放现在我需要为端到端测试编写测试用例。 我使用ResourcelessTransactionManager使用自定义批处理配置器来避免在内存和实际数据库中保存批处理表元数据,并且

  • 我试图在Spring批处理中配置几个数据源。启动时,Spring批处理抛出以下异常: 批处理配置的代码段 不知道为什么我会看到这个异常,因为我看到了一些基于xml的Spring批处理配置,这些配置声明了多个数据源。我使用的是Spring批处理核心版本3.0.1.发行版和Spring Boot版本1.1.5.发行版。如有任何帮助,将不胜感激。