我正在尝试查看以下是否可以在Spring Batch中完成。为一个ItemReader / Processor / Writer调用Step。在此步骤完成之前,可以调用下一步(使用自己的Reader / Processor / Writer)进行某些处理,然后返回上一步。
更清楚的是,在第一步的处理器中,我将一个List放入executionContext
希望第二步中的进程将其拾取进行进一步处理,之后程序返回到第一步的处理器,用于构建列表并将其再次设置到上下文中,以便在第二步中依次拾取它等等。
答案 0 :(得分:0)
在我看来,好像你正在尝试做一些事情,春季批次不适合。
首先,弹簧批处理完成每一步。只有这样,下一步才会执行。您可以并行启动两个步骤,但是,它们具有不同的输入并产生不同的输出。
此外,您将business" -data放入executionContext并将其用作步骤之间的传输容器的方法也很奇怪。
通常,"正常" reader-processor-writer步骤按以下方式工作: 1.它从源头读取一大块条目 2.它在处理器中单独处理块的每个读取项 3.它将整个块写入目标 4.它从步骤1的下一个块开始 5.在读者阅读完所有可用项目后,作业将进入下一步。
如果你解释一下,你的最终目标是什么可能会有所帮助。据我所知,我担心你会走错路。
可能是,您正在尝试将项目组合在一起?有解决方案。