一步中有多个 tasklet?

More than one tasklet in a step?

我有一个 tasklet 将一些信息设置到我的 JobContext 中,另一个 tasklet 检查一些东西以了解我是否可以在我的批处理中执行后续步骤。 如果我在我的工作流程中使用两个不同的步骤,那么两个 tasklet 都能很好地工作,但我想在同一步骤中使用这两个 tasklet。

我尝试在我的批处理配置中添加两次“.tasklet(taskletName)”,如下所示:

return stepBuilderFactory.get("stepSettings").tasklet(taskletSettings).tasklet(taskletChecking).listener(executionContextListener).listener(stepExecutionListener).build();

不行:只执行了一个tasklet(好像是第二个)。我在 spring 文档中没有看到任何内容;有没有办法做到这一点 ?或者 Spring 不允许在同一步骤中有多个 tasklet 吗?

step 只有一个 tasklet(我认为这是设计使然)。
如果您需要先决条件检查才能让您的工作顺利进行,请使用 JobExecutionDecider.