我们如何在Spring Batch的Job的不同步骤之间共享数据?

深入研究Spring Batch,我想知道我们如何在Job的不同步骤之间共享数据?

我们可以使用JobRepository吗?如果是,我们该怎么做?

还有其他方法可以做到/实现吗?


慕妹3242003
浏览 1551回答 3
3回答

回首忆惘然

我会说您有3种选择:使用StepContext它并将其推广到JobContext您并且可以从每个步骤访问它,并且必须遵守所指出的大小限制创建@JobScopebean并将数据添加到该bean,@Autowire并在需要的地方使用它(缺点是它是内存结构,如果作业失败,数据丢失,则可能会导致可重启性问题)我们需要跨步骤处理更大的数据集(读取csv中的每一行并写入DB,从DB中读取,聚合并发送给API),因此我们决定在与spring batch meta表相同的DB中对新表中的数据进行建模,ids进入JobContext并在需要时进行访问,并在作业成功完成后删除该临时表。
打开App,查看更多内容
随时随地看视频慕课网APP