spring批处理在步骤中添加作业参数

时间:2012-07-31 01:29:01

标签: spring-batch

我有两个步骤。第一步是在具有以下结构的文件夹中创建文件

src/<timestamp>/file.zip

下一步需要检索此文件并进行处理

我想将时间戳添加到作业参数。每个作业实例都按时间戳区分,但我不知道第一步完成之前的时间戳。如果我将作业开头的时间戳添加到作业参数,则每次启动新作业实例时。任何不完整的工作都将被忽略。

1 个答案:

答案 0 :(得分:2)

我认为您可以使用JobExecutionContext。

步骤1获取当前时间戳,使用该时间戳生成文件,然后输入JobExecutionContext。步骤2从JobExecutionContext读取以获取时间戳,该时间戳用于构造其处理的输入路径。

只是在你分割这样的步骤的方法上添加一些东西:你必须三思而后行,这是否真的是你想要的。如果步骤1完成,并且步骤2失败,则当作业实例重新生成时,它将从步骤2开始,这意味着该文件不会在步骤1中重新生成(因为它已经完成)。如果这是你要找的,那没关系。如果没有,您可能会看到是否要将Step1&amp;步骤2改为一步。