将参数传递给Spring批处理作业

时间:2018-01-20 14:08:16

标签: spring-batch

我想处理3个数据文件。让我们说FileAFileBFileC。每个文件都有不同类型的数据,并将加载到不同的表集。我已阅读有关Spring Batch的内容,并看过视频并做了一些教程。我正在考虑为每种类型的文件编写一系列Steps。例如,我的FileProcessingJobFileA-Step1FileA-Step2FileA-Step3用于FileA,然后FileB-Step1FileB-Step2,{{ 1}}用于FileB-Step3FileBFileC-Step1FileC-Step2用于FileC-Step3。我想将文件名作为参数传递给FileC,并希望执行适当的一系列步骤。例如,当FileProcessingJob传递给FileAFileProcessingJobFileA-Step1时,应执行FileA-Step2。我已阅读并理解如何按所需顺序链接步骤。我无法找到和阅读的内容是如何将参数传递给FileA-Step3。有人能指出我的信息吗?

1 个答案:

答案 0 :(得分:0)

主要是,你需要3个不同的读者。 (步骤是您可能需要的另一个故事,但如果您有3种不同的文件类型,则每种类型都需要一个阅读器。)

关于工作参数 - 我假设this link can help: Spring's Doc - Configuring a Job。基本上,当启动器运行一个作业时,它会传递一个名为JobParameters的对象。这就是你需要的。您可以在XML配置文件中定义参数,例如......)