2016-04-01 5 views
0

Spring Batch(バージョン3.0.6)で作業を開始しました。私は仕事があり、内部のステップではReader-> Processor-> Writerを持っています。Reading(Spring Batch)中にファイルが見つからない場合の例外の特定方法

読み取り中にファイルが見つからない場合、例外をキャッチして識別する方法がスローされます。この場合、私は電子メールをトリガーしたいと思います。

答えて

0

ItemStream#openFlatFileItemReaderのファイルが開かれているため)によってスローされた例外を処理するのに、StepExecutionListenerを使用して、そこから電子メールを送信できます。障害の原因となった例外を取得するには、ステップが失敗した例外が含まれるStepExecution#getFailureExceptionsを参照してください。

あなたがここにjavadocの中StepExecutionListener詳細を読むことができます:https://docs.spring.io/spring-batch/apidocs/org/springframework/batch/core/StepExecutionListener.html

+0

私はすでにItemReaderListener(ONERROR方法)を試してみました。しかし、私が見つけたのは、ファイルが存在しない場合(誤ったファイル名を意図的に与えた場合)、その投げ込み** org.springframework.batch.item.ItemStreamException:リーダーを初期化できませんでした**。リスナーのonReadErrorメソッドは実行されません。 –

+0

ああ。申し訳ありません。私はファイルのオープンが 'ItemStream#open'で起こっていることを忘れていました。その場合、 'StepExecutionListener#afterStep'を使用してください。提供された 'StepExecution#getFailureExceptions'の中で、エラーの原因となった例外が見つかります。私はそれに応じて私の答えを更新しました。 –

関連する問題