为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕妹3242003 2019-10-29 14:05:10
深入研究Spring Batch,我想知道我们如何在Job的不同步骤之间共享数据?我们可以使用JobRepository吗?如果是,我们该怎么做?还有其他方法可以做到/实现吗?
查看完整描述

3 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

我会说您有3种选择:

  1. 使用StepContext它并将其推广到JobContext您并且可以从每个步骤访问它,并且必须遵守所指出的大小限制

  2. 创建@JobScopebean并将数据添加到该bean,@Autowire并在需要的地方使用它(缺点是它是内存结构,如果作业失败,数据丢失,则可能会导致可重启性问题)

  3. 我们需要跨步骤处理更大的数据集(读取csv中的每一行并写入DB,从DB中读取,聚合并发送给API),因此我们决定在与spring batch meta表相同的DB中对新表中的数据进行建模,ids进入JobContext并在需要时进行访问,并在作业成功完成后删除该临时表。


查看完整回答
反对 回复 2019-10-29
  • 3 回答
  • 0 关注
  • 1548 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信