2017-08-25 94 views
1

如何停止春季批量作業?我試圖用這個方法下面春季批量停止作業

代碼:

public class jobListener implements JobExecutionListener{ 

    @Override 
    public void beforeJob(JobExecution jobExecution) { 
    jobExecution.setExitStatus(ExitStatus.STOPPED); 

    } 


    @Override 
    public void afterJob(JobExecution jobExecution) { 
    // TODO Auto-generated method stub 

    } 
} 

我嘗試也已完成,失敗但由於作業將繼續執行這個方法不起作用。任何解決方案

+0

[在Spring批處理中在beforeStep中停止作業]的可能副本(https://stackoverflow.com/questions/22122059/stopping-a-job-in-the-beforestep-in-spring-batch) –

回答

0

您可以使用JobOperator與JobExplorer一起停止作業以外的作業(請參閱https://docs.spring.io/spring-batch/reference/html/configureJob.html#JobOperator)。方法是stop(long executionId)您將不得不使用JobExplorer找到正確的executionId來停止。

也可以在作業流程配置中,根據退出狀態配置作業在執行步驟後停止(請參閱https://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#stopElement)。