1

我需要在两者中访问一个对象,itemProcessoritemWriter我不想将它持久保存在executionContext. 我会在预处理步骤中读取这个对象。
最好的方法是什么?

到目前为止,我所拥有的是 - 我将对象放在 中jobExecutionContext,然后将 my 的范围设置itemProcessor为“step”并绑定itemProcessorto的属性"#{stepExecution.jobExecution.executionContext}"。这确实让我可以访问我的对象。但是我遇到了这个解决方案的两个问题:

  1. 我什么时候从上下文中删除对象以便它不会保持持久化,它必须在所有项目完成之后。
  2. 我的对象可能很大,似乎上下文的列大小为 2500。

这是一个好的解决方案吗?如果是,我该如何解决上面提到的两个问题。如果没有,是否有在春季批次中执行此操作的好方法,或者缓存是最好的方法?

谢谢。

4

1 回答 1

-2

execution/job/step ... Context uses by Spring batch are meant to be persisted in the metadata of spring batch for the restartable feature to name one!

What i have done previously is creating a normal spring bean with the object yo need and simply @autowired it in your Processor and writer!

Job Done.

于 2013-05-02T15:07:46.743 回答