2016-03-24 1 views
1

ボンジュール、ストップスプリングバッチ

私は、私の読者で、場合はtrueをテストリターンを故障状態で実行している春のバッチを停止する必要があります。これどうやってするの ? 私は実際にSystem.exit(-1)を使用していますが、私は春のバッチは、別のステータスで実行中のバッチを停止する独自の方法があると思います。ここ

私はバッチを停止したいから、私の読者関数です:

private List<Test> getListTest() throws Exception { 
    ... 
      if (stop) { 
      logger.error("Stop running batch"); 
      System.exit(-1); 
      return null; 
      } 
    ... 
} 

メルシーらボンヌjournée

答えて

1

春のバッチジョブを失敗するには2つの方法があります。

  1. リーダー内で例外をスローすると、スプリングバッチは失敗したステータスでジョブを自動的に停止します。
  2. joboperator.stop()メソッドを使用すると、実行中のジョブをすべて停止できます。このメソッドは、ジョブを停止する信号を送信しますが、トランザクションが完了した後にのみジョブは停止します。
+0

Bonjour DevG、 JobOperatorインターフェイスが私の望むように思えます。ありがとうございました – obiyadi