Spring 批量条件数据库调用

Spring Batch conditionnal database call

我是一个 spring 批处理初学者,我正在开发一个需要根据条件调用两个不同数据库的应用程序。

应用程序的作用如下: 读取包含信用卡和借记卡号码的平面文件,然后根据该号码是信用卡还是借记卡,我必须调用数据库以获取一些信息,然后使用该信息制作 csv 文件。问题是有两个数据库,一个用于借记卡,另一个用于信用卡。

我的问题是我很难为对数据库的条件调用配置批处理作业。如果只有一个数据库可以调用,我可以轻松完成,但这让我很困惑。

目前,我已经完成了一张读取平面文件的卡片 reader,一个从 DB 检索信息的处理器和一个用于最终 csv 的编写器。我真的不知道如何配置处理器来调用不同的数据库,因为 spring 批处理似乎只使用一个数据源。

编辑:我已经成功地进行了数据库调用,只需要用两个不同的 JdbcTemplate bean 制作两个数据源 bean(使用一个作为主要 bean)。

您必须配置两个不同的数据源 Bean,并将它们都注入批处理器。

那剩下的就简单了(如果credit用第一个bean,或者用第二个)

查看此 link 了解多个数据源。

并且不要忘记将其中之一注释为主要。 Spring Batch 将默认在主数据源中生成其所有 SQL 表。