本文介紹了在Spring Batch中停止beForeStep中的作業的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我希望能夠在達到計時閾值時停止作業。我在考慮兩種方法。首先是在后續步驟中停止工作。但是,如果它是在最后一步完成時,我不希望它具有停止狀態。因此,我將在beForeStep中停止它。
我嘗試使用
public void beforeStep(StepExecution stepExecution) {
stepExecution.setStatus(BatchStatus.STOPPED);
return;
}
和
public void beforeStep(StepExecution stepExecution) {
stepExecution.setExitStatus(ExitStatus.STOPPED);
return;
}
這兩種方法都不起作用。有什么建議嗎?
推薦答案
查看此問題here,操作員在他的問題中有此問題的解決方案。
jobListener
略有不同
@Override
public void beforeJob(JobExecution jobExecution) {
JobParameters jobParameters = jobExecution.getJobParameters();
//check params etc
if (!shouldExecute) {
jobExecution.stop();
jobExecution.setExitStatus(new ExitStatus("STOPPED", "Invalid state."));
return;
}
}
這篇關于在Spring Batch中停止beForeStep中的作業的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,