我需要访问itemProcessor
和itemWriter
中的对象,但我不想将其保存在executionContext
中。我会在预处理步骤中阅读这个对象。
这样做的最佳方法是什么?Spring批处理 - 需要使用itemProcessor/itemWriter中的对象但不能保留它
到目前为止,我有什么是 - 我把对象的jobExecutionContext
,然后我把我的itemProcessor
为“步”的范围和itemProcessor
的属性绑定到"#{stepExecution.jobExecution.executionContext}"
。这确实使我能够访问我的对象。但我在这个解决方案中遇到了两个问题:
- 何时从上下文中删除对象,以便它不保持持久性,它必须在完成所有项目后完成。
- 我的目标可能是巨大的,它似乎在上下文中的列大小2500
的这是一个很好的解决方案,如果是,我该如何解决上述两个问题。如果没有,是否有一种好方法可以在春季批量生产或缓存最佳方法?
谢谢。
只是为了更新我最终做的事情 - 我创建了一个缓存对象并使用作业执行ID作为缓存键。 – enkay 2013-07-30 23:05:42