0

同様の問題に関連するいくつかの投稿を確認しました。シェルスクリプトを介してスプリングバッチアプリケーションを呼び出し、終了ステータスを取得しています。実行が成功すると、すべてが正常に機能します。ExitStatus は 0 として設定されます。ただし、データベース エラーが発生した場合 (データベース エラーを作成するために、データベースの間違ったポートを指定した場合)、ExitStatus は空として返されます。コードは以下です

以下の投稿を参照し、同様に実装しました

例外がスローされた場合、ゼロ以外のコードでスプリング バッチ ジョブを終了させる

Spring バッチ リターン カスタム プロセス終了コード

シェル スクリプト: java -jar $JOBDIR/lib/feed*.jar

result=$?
    echo $result            

ジャワ:

 public static void main(String[] args) {
       ConfigurableApplicationContext context 
                  =SpringApplication.run(App.class, args);

    int exitCode = SpringApplication.exit(context);
    System.out.print("Exit code is" + exitCode);
    System.exit(exitCode);
  }

    @Primary
@Bean(destroyMethod = "")
public DataSource dataSource() throws Exception {
      return BatchDataSource.create(url, user, password);
    }

データベース エラーの場合、メイン メソッド System.exit(exitCode) の最後に到達していません。何が間違っているのか教えてもらえますか??

4

1 に答える 1