Spring批处理作业链接执行不等待在Jboss中完成上一个作业

Spring批处理作业链接执行不等待在Jboss中完成上一个作业,spring,jboss,spring-batch,taskmanager,spring-batch-admin,Spring,Jboss,Spring Batch,Taskmanager,Spring Batch Admin,我已将一组Spring批处理作业链接到一个订单中 <batch:job id="rootJob"> <batch:step id="rootJob.step1"> <batch:job ref="externalJob1"> <batch:next on="COMPLETE" to="rootJob.step2"> </batch:step> <batch:split id="rootJob

我已将一组Spring批处理作业链接到一个订单中

<batch:job id="rootJob">
   <batch:step id="rootJob.step1">
     <batch:job ref="externalJob1">
     <batch:next on="COMPLETE" to="rootJob.step2">
   </batch:step>

   <batch:split id="rootJob.step2">
     <batch:flow>
       <batch:step id="splitStep1">
         <batch:job ref="externalJob2">
       </batch:step>
     </batch:flow>
     <batch:flow>
       <batch:step id="splitStep2">
         <batch:job ref="externalJob3">
       </batch:step>
     </batch:flow>
     <batch:next on="COMPLETE" to="rootJob.step3">
   </batch:split>

   <batch:step id="rootJob.step3">
      <batch:job ref="externalJob4">     
   </batch:step>
 </batch:job>
但在Jboss中部署和触发时。该流未按预期执行。这些步骤在一次拉伸中被触发。执行不是等待上一步完成并立即启动

我怀疑任务执行人。在独立中,我们没有指定任何任务执行器(默认为SyncTaskExecutor),作业流工作正常。但在Jboss中部署时,我们使用的是SimpleAsyncTaskExecutor,因为在Jboss中使用SyncTaskExecutor甚至不会触发作业

我在这里错过了什么,还是做错了什么。?请提出建议。

解决了问题。 我提供了如下所示的job launcher=“jobLauncher”属性。因此,单独的线程被启动,作业被并行触发

  <batch:job ref="externalJob1" job-launcher="jobLauncher">

现在,我已经从所有作业中删除了joblauncher引用,这些作业正在按设计触发

  <batch:job ref="externalJob1" job-launcher="jobLauncher">