2017-05-19 30 views
2

ジョブの読み取りステップ中に失敗したレコードを追跡したい。私はこれにSkipListenerを使用しました。Spring Batchで失敗したレコードをどのように追跡することができますか?

リーダーでスキップした行を別のcsvファイルに保存したいとします。上記onSkipInRead(Throwable arg0)方法から は、私はこのようなスロー可能オブジェクトを取得しています:1005,anee,Active,500000,34,888 はどのように私はこれを取得することができますか、私は手動でスロー可能オブジェクトを解析し、これを取得する必要があります。

org.springframework.batch.item.file.FlatFileParseException: Parsing error at line: 5 in resource=[class path resource [files/input2.csv]], input=[1005,anee,Active,500000,34,888] 

は、私はのようにレコードのみをしたいですか?

2番目の質問は、実際にジョブに送信されたアイテムの数、スキップされたアイテムの数、正常に処理されたアイテムの数、これに関するSpring Batchのサポートはありますか?

答えて

1

最初の質問では、アイテムを読み取ることができなかったため、例外メッセージを手動で解析する必要があります。あなたの2番目の質問、SpringBatchはStepExecutionオブジェクトのメソッドを提供するために

  • 読む:stepExecution.getReadCount()
  • 読むに失敗しました:加工stepExecution.getReadSkipCount()
  • を:stepExecution.getProcessSkipCount()
  • が書き込ま:失敗した加工stepExecution.getProcessCount()
  • stepExecution.getWriteCount()
  • 執筆に失敗しました:stepExecution.getWriteSkipCount()
+0

お返事ありがとうございます。 –

関連する問題