我想用3个步骤构建一个批处理。我想配置这样的步骤 如果在step1读取并处理并写入10步骤02的块时有100条记录,则step03开始和结束,然后再次返回步骤1并读取下一个块。 这是否可以在Spring批次中使用?
答案 0 :(得分:0)
可能是可能的。
您必须认为在第2步中您必须再次“读取”步骤1中读取的最后10个项目,因为在步骤中读取器是必需的,并且此项目应存储在执行上下文中,因此最好的实践是仅存储键(如果您正在工作)与DB或其他涉及查询驱动程序解决方案的解决方案)以最小化数据使用,因为执行上下文存储在SB元数据表中
步骤3相同。
在步骤3之后,JobExecutionDecider
移回步骤1,如果您有更多要处理的元素或移动到工作结束。
这可能是一个可能的解决方案,但是 - 恕我直言 - 与我们用SB设计工作流程的方式相比,看起来像一个变态;你确定你不能一步完成同样的工作,3个处理器和少数听众重新考虑工作流程?