2017-08-25 21 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 

    } 
} 

私もFAILED完了しようとしたが、ジョブは実行を継続するので、このメソッドは動作しません。どんな解決策ですか?

+0

[Spring BatchでbeforeStepでジョブを停止する](https://stackoverflow.com/questions/22122059/stopping-a-job-in-the-beforestep-in-spring-batch)の可能な複製 –

答えて

0

JobExplorerとJobExplorerを併用すると、ジョブをジョブ外から停止できます(https://docs.spring.io/spring-batch/reference/html/configureJob.html#JobOperator参照)。方法はstop(long executionId)です。停止する正しい実行IDを見つけるには、JobExplorerを使用する必要があります。

また、ジョブフロー設定内では、終了ステータスに基づいてステップ実行後にジョブを停止するように設定できます(https://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#stopElement参照)。

関連する問題