一个步骤中不止一个 tasklet?

Car*_*rrm 4 spring spring-batch tasklet

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

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

return stepBuilderFactory.get("stepSettings").tasklet(taskletSettings).tasklet(taskletChecking).listener(executionContextListener).listener(stepExecutionListener).build();
Run Code Online (Sandbox Code Playgroud)

它不起作用:只执行了一个 tasklet(它似乎是第二个)。我在 spring 文档中什么也没看到;有没有办法做到这一点 ?或者 Spring 不允许在同一步骤中有多个 tasklet 吗?

Luc*_*cci 7

只有一个 tasklet 用于 step(我认为这是设计使然)。
如果您需要先决条件检查来处理您的工作,请使用JobExecutionDecider.