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

spring批处理步骤执行期间的数据获取

公良鸿风
2023-03-14

我有一个Spring批处理作业。它的阅读器通过一些复杂的sql从数据库中读取一些记录。现在,对于我从数据库收到的每一条记录,我必须再打一个表来获取一些属性。注意:-我不能在阅读器步骤中加入这个表sql。所以这些获取的属性以及现有记录中的数据需要写入文件。这可以用Spring批处理完成吗?

共有1个答案

阚通
2023-03-14

是的,这是可能的使用项目处理器,将获取额外的数据为每个项目。这是一种常见的模式,称为“驱动查询模式”,在“常见批处理模式”一节中进行了描述。

然而,这种模式在性能方面并不是最好的(对于大型数据集),因为每个项都有一个额外的查询(N 1查询问题),但对于大多数使用中/小型数据集的用例来说,它是有用且高效的。

 类似资料:
  • 我正在尝试修复Spring Batch中的一个问题,这个问题最近一直困扰着我们的系统。我们有一份工作,在大多数情况下都很好。下载和处理数据是一个多步骤的工作。 问题是有时工作会爆棚。也许我们试图连接到的服务器抛出了错误,或者我们在工作进行到一半时关闭了服务器。此时,下次我们的quartz调度程序尝试运行该作业时,它似乎什么也不做。以下是此作业定义的删节版本: 委婉地说,我是Spring Batch

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

  • 我对spring batch基本上是新手。第一步,我从SFTP服务器获取一个文件,并使用JSch将其传输到本地目录。第二步,我读取本地目录中的文件,并将内容写入数据库。问题在于,在某些情况下,只执行saveDruchAltransaction(步骤2),而不执行getRemoteFile(步骤1) 配置类: 读者: 作家: 微线程: 我不知道该怎么做...我一直在尝试我从各地找到的东西。请帮忙谢谢

  • 我有一个spring批处理工作,比如说5个步骤(

  • 我正在做一个包括Spring批处理的项目,在复制代码片段之前,我要简单地总结一下这项工作是如何使用cron的。 cron在我的项目上调用restapi(@PostMapping(“/jobs/external/{jobName}”) 在post方法中,我获取作业并执行它 在每次执行中,我都应该执行一个步骤 该步骤包含一个读卡器(对弹性API的外部rest调用以获取文档)和一个处理器 现在我的问题是

  • 使用Spring Batch 3.0.4.Release。 我将作业配置为使用分区步骤。从机步骤使用块大小1。任务执行器中有六个线程。我使用从六到数百的各种网格大小来运行这个测试。我的网格大小是从StepExecutions的数量,我希望==我的分区器创建的ExecutionContexts的数量。 下面是Java配置代码: