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

通过在应用程序参数中传递开始步骤名称和结束步骤名称,在Spring批处理中运行步骤列表

耿和韵
2023-03-14

如果我们可以通过在应用程序参数中传递开始步骤和结束步骤的名称来运行一组处理(多个步骤),那么在Spring批处理中是否有一种方法。我们的要求是,我们有一个包含11个步骤的Spring批处理,其中每个步骤都有不同的读取器、处理器和写入器。将step3和step8作为参数传递,因此批处理处理step3和step8之间的每个步骤。

知道这些步骤是在上下文 xml 文件中定义的。

谢谢你的帮助。

共有1个答案

乜思淼
2023-03-14

对于这种特定的需求,你可以使用一个JobExecutionDecider,让它根据应用程序的参数来决定执行或不执行哪一步。

您可以在此处的参考文档中找到更多详细信息和代码示例:编程流决策。

 类似资料:
  • 我有一个由两个步骤组成的Spring批处理作业(到目前为止)。 作业的第一步是在任务中实现的。它接受需要处理的逗号分隔值(CSV)文件(使用很好的业务逻辑块来确定哪些文件),并将它们复制到“Drop Zone”目录中。

  • 我目前正在处理一批数据,这些数据来自一个拥有数百万行的大型SQL数据库。 它在处理器中执行一些处理,包括通过带有连接的大型sql查询对从Reader检索到的行进行分组。 编写器将结果写入另一个表。 问题是此Batch存在性能问题,因为Sql选择查询需要大量时间并且步骤不会在多线程中执行。 因此,我希望在多标题中运行它们,但问题是,这些步骤通过计算具有相同类型的所有行的总数来对行进行分组。 因此,如

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

  • 我试图配置我的第一个多线程作业。我们有大约200,000条记录的主目录,我们需要处理。我想将文件分解为10个文件并处理它们。拆分文件tasklet工作正常 主步骤在我的配置中运行,但从步骤不运行。下面是我的配置。 分割者: MultiResourceItemReader: FlatFileItemWriter: 作业配置: 从属步骤配置: 请告知我做错了什么。我没有看到处理器urlFileItem

  • 我第一次使用Spring batch,我需要一些关于验证步骤的帮助。 在真正开始我的批处理作业之前,我需要对要处理的文件进行一些验证,例如: 使用数据库中的信息检查名称 使用来自系统和数据库的信息检查第一行和最后一行(特定) 用第一行中的数据检查总行号 在那之后,我真的可以开始我的批处理工作了。 我认为有多个步骤相互链接,第一步进行验证,如果文件无效,则进入错误步骤。 我如何进行验证?所有找到的阅

  • 我想在每个步骤之前和之后执行一些操作(而不是场景)。用cucumber怎么做? 就像jUnit中的后和前。 **我正在使用java。