0
我已經按順序鏈接了一組Spring作業。Spring批處理作業鏈執行不等待以前的作業在Jboss中完成
<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>
作業流程執行的期望。
1. On Completion of rootJob.step1 execute rootJob.step2.
2. Execute splitJob1 and splitJob2 in parallel.
3. On Completion of rootJob.step2 execute rootJob.step3
但是在Jboss中部署和觸發。流程未按預期執行。這些步驟將在單一時間內觸發。執行不會等待上一步完成並立即啓動。
我懷疑TaskExecutor。在獨立我們沒有指定任何任務執行程序(默認爲SyncTaskExecutor)和工作流程正常工作。但是當部署在Jboss中時,我們使用SimpleAsyncTaskExecutor,因爲使用SyncTaskExecutor甚至不會觸發Jboss中的作業。
我在這裏錯過了什麼,或者我在這裏做錯了什麼?請建議。