Spring batch Spring批处理-需要在itemProcessor/itemWriter中使用对象,但不能将其持久化

Spring batch Spring批处理-需要在itemProcessor/itemWriter中使用对象,但不能将其持久化,spring-batch,Spring Batch,我需要访问itemProcessor和itemWriter中的对象,但我不想将其保存在executionContext中。我将在预处理步骤中读取此对象。 最好的方法是什么 到目前为止,我所拥有的是-我将对象放在jobExecutionContext中,然后我将itemProcessor的范围设置为“step”,并将itemProcessor的属性绑定到“#{stepExecution.jobExecution.executionContext}”。这确实让我可以访问我的对象。但我在这个解决方案中

我需要访问
itemProcessor
itemWriter
中的对象,但我不想将其保存在
executionContext
中。我将在预处理步骤中读取此对象。
最好的方法是什么

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

  • 当我从上下文中删除对象以使其不保持持久性时,它必须在所有项目完成后进行
  • 我的目标可能是巨大的,而上下文中的列的大小似乎是2500 这是一个好的解决方案吗?如果是,我如何解决上述两个问题。如果没有,在SpringBatch中有没有一个好的方法来实现这一点,或者缓存是最好的方法


    谢谢

    执行/作业/步骤。。。SpringBatch使用的上下文将持久化在SpringBatch的元数据中,以便可重启功能命名一个

    我之前所做的是用您需要的对象创建一个普通的Springbean,并简单地在您的处理器和编写器中@autowired它


    作业完成。

    只是为了更新我最终完成的操作-我创建了一个缓存对象,并使用作业执行id作为缓存密钥。