我需要在两者中访问一个对象,itemProcessor
但itemWriter
我不想将它持久保存在executionContext
. 我会在预处理步骤中读取这个对象。
最好的方法是什么?
到目前为止,我所拥有的是 - 我将对象放在 中jobExecutionContext
,然后将 my 的范围设置itemProcessor
为“step”并绑定itemProcessor
to的属性"#{stepExecution.jobExecution.executionContext}"
。这确实让我可以访问我的对象。但是我遇到了这个解决方案的两个问题:
- 我什么时候从上下文中删除对象以便它不会保持持久化,它必须在所有项目完成之后。
- 我的对象可能很大,似乎上下文的列大小为 2500。
这是一个好的解决方案吗?如果是,我该如何解决上面提到的两个问题。如果没有,是否有在春季批次中执行此操作的好方法,或者缓存是最好的方法?
谢谢。