当前位置: 首页 > 知识库问答 >
问题:

一步中不止一个任务?

慕学海
2023-03-14

我有一个tasklet在我的JobContext中设置一些信息,另一个tasklet检查一些东西,以知道我是否可以在批处理中执行下一步。如果我在工作流中使用两个不同的步骤,这两个tasklet都能很好地工作,但我希望在同一步骤中使用这两个tasklet。

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

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

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

共有1个答案

汪庆
2023-03-14

步骤只有一个tasklet(我认为这是设计的)。
如果需要执行前置条件检查,请使用JobExecutionDecider

 类似资料:
  • 空手道的任何一步都失败了,空手道的步骤就停止了。 示例:场景:验证用户详细信息。 给定url“这是我的Web服务” 当方法发布时 然后状态200 *断言1==2 然后回应 然后匹配XXXXXXX 比赛XXXX 步骤断言失败,剩余步骤不执行。我的断言失败了,还有什么方法可以继续这个过程吗

  • 我是Flink的新手。据我了解,在Flink中,一个TaskManager可以分成多个插槽,一个插槽可以分配多个任务,一个任务是一个线程。 让我们看看WordCount示例: 据我所知,一个任务就是一个线程,有三个任务:<代码>源映射() ,<代码>keyBy()/窗口()/应用() 和<代码>接收器 。所以每个都有自己的线程,这意味着我们需要三个线程来完成这个示例。我们可以将三个任务(三个线程)

  • 问题内容: 我有以下使用类的课程。所以我想做的是,在运行cp1实例处理方法的同时,我要并行运行。 但是,我要按顺序cp1,所以我要它运行并完成,如果cp2没有完成或失败,那就很好。如果确实失败,我想加入结果。该示例中未返回任何内容,但我想返回结果。 为此,应该使用TaskExecutor吗?还是线程? 我只希望cp2与cp1并行运行。或者,如果我添加更多内容,例如说cp3,我希望它也可以与cp1并

  • 我在gradle项目中添加了一个任务: 现在,任务总是在任务之前运行。这很好,因为构建任务包含许多步骤。现在我想显式禁用其中一个包含的任务。

  • 当我运行它时,它有一个错误java.lang.NullPointerException。我能知道它是从哪里来的吗?

  • 我在用Gradle。我有两个任务:“A”和“B”。我想让任务“A”调用任务“B”。我怎么能这么做? 是否可以简单地从现有任务中调用另一个任务?