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

Spring Batch条件数据库调用[关闭]

年风华
2023-03-14

原关闭原因未解决

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

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

我的问题是,我很难为DB的条件调用配置批处理作业。如果只有一个数据库可以调用,我可以很容易地做到这一点,但这让我感到困惑。

现在,我已经做了一个读卡器,它可以读取平面文件,一个处理器可以从数据库中检索信息,还有一个用于最终csv的写入器。我真的不知道如何配置处理器来调用不同的数据库,因为spring batch似乎只使用一个数据源。

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

共有1个答案

长孙绍辉
2023-03-14

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

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

有关多个数据源,请参见此链接。

别忘了把其中一个注释为Primary。默认情况下,Spring Batch将在主数据源中生成其所有SQL表。

 类似资料:
  • 我有一个springbatch应用程序,我将连接到一个网络数据库进行阅读。我发现的大多数示例都嵌入了数据库,用于独立测试。我不想那样做。我不确定配置是否类似。以下是我所拥有的最具德国特色的部分(带有一些异议): ,然后从应用程序启动: 我没有配置数据源。我不确定,因为我的基本上只是一个到远程网络数据库的客户端连接,它的配置是否会与我找到的各种示例的嵌入式设置不同。所以我自然会出错(如下)。我只是在

  • 我正在尝试使用flyway,但是我有一个不知道如何解决的情况: 当我应用STANDARD脚本时,我必须运行V1.0__create_table_TAB1.sql当我将脚本应用到customer1时,TAB1表是一个视图,因此我必须运行V1.0__creaate_view_TAB1_to_schema1.sql。 实际: 应始终应用sql_common文件夹的脚本,但不应应用 V1.0(创建表 TA

  • 我有一个名为employee_comp_field的表,其中提供了薪资字段 然后,我有另一个表,其中员工工资数据存储emp_compensation每个字段。正如你所看到的emp_id 10有三套记录,因为他在同一年获得了三次加薪(year_id=101),这可以通过salary_order领域来识别。 我想用最大工资确定所有雇员的名单,我的期望输出如下: emp_id10号得到了三次加薪……所以

  • 我正在设置一个有条件的开始目的地,例如在这里看到: https://stackoverflow.com/a/51961843/393607 问题是:这个条件应该依赖于一个房间查询。这个查询不能在主线程上运行,当然,在构造导航图之前,主活动的onCreat必须等待查询完成。 有什么建议吗?

  • 问题内容: 我有些困惑,我从阅读以下内容 你不需要关闭conn连接吗?如果conn.close()没有发生,那实际上是怎么回事? 我有一个正在维护的私有Web应用程序,该应用程序当前无法关闭任何一种形式,但是重要的应用程序真的是stmt,conn还是两者兼而有之? 该站点间歇性地关闭,但是服务器一直在说这是数据库连接问题,我怀疑它没有关闭,但是我不知道该关闭哪个。 问题答案: 使用完之后,你需要通

  • 问题内容: 在数据库中建立适当的关系对数据完整性以外的其他功能没有帮助吗? 它们会改善还是阻碍性能? 问题答案: 我不得不说,适当的关系将比省略它们更好地帮助人们理解数据(或数据的意图),特别是因为维护它们的总成本非常低。 它们的存在不会影响性能,除非是在体系结构方面(正如其他人指出的那样,数据完整性有时会导致外键冲突,这可能会产生某些影响),但是IMHO的许多好处(如果正确使用,则不胜枚举)。