【问题标题】:how can I use 1 Spring Batch job to process multiple requests如何使用 1 个 Spring Batch 作业来处理多个请求
【发布时间】:2020-03-04 05:54:15
【问题描述】:

我正在使用 Spring Batch 作业来运行多个作业。 所有作业都使用 ItemReader 和 FlatFileItemWriter 读取一些数据并生成文本文件。 我为每个必须创建的文件创建了一个具有自己的 Reader 和 Writer 的批处理作业。 例如,如果我创建 10 个不同的文件,我有 10 个工作,我有 10 个读者和 10 个作者。 有没有一种方法可以让我只有一份工作、一名读者和一名作家来处理创建不同文件的所有请求。 具有自己 DTO 的文件。

public class ClassWriter1 extends FlatFileItemWriter<DTO1>{
}

public class ClassWriter2 extends FlatFileItemWriter<DTO2>{
}

等等……

【问题讨论】:

  • 使用一个作业根据需要读/写的文件数量触发多个线程。
  • @Em,我不想同时创建所有文件。这取决于提出的请求。
  • 您是否尝试过为每个作业创建一个通用的抽象作业配置类(如AbstractJobConfig&lt;T&gt;)和多个具体的(如Job1Config extends AbstractJobConfig&lt;DTO1&gt;Job2Config extends AbstractJobConfig&lt;DTO2&gt;)?

标签: java spring spring-batch


【解决方案1】:

如果您根据请求创建文件,则不需要批处理作业。在每个请求上都会点击创建文件的方法。您可以将创建文件的方法视为异步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-10
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 2021-10-30
    • 2018-05-27
    相关资源
    最近更新 更多