0

ユーザーがアップロードした CSV ファイルを処理するための Spring Batch (2.1.9) を検討しています。サポートする必要があるフローには、多くのファイル形式用の 2 つの主要なジョブ テンプレートが含まれています。

  • 以下を含むアップロードされたファイルの検証:
    • 各レコードに提供されたすべてのフィールドの形式の解析と検証 (regexp を使用)
    • マッピングされたオブジェクトのビジネス検証
    • 合計レコード数、無効なレコード数、およびエラーの詳細 (行番号とそこで見つかったすべてのエラー) を提供する詳細レポートの生成

ファイルをアップロードしたユーザーによってトリガーされた 2 番目のジョブで完全に処理できるのは、エラーのないファイルのみです。

  • ファイルの処理:
    • ファイルの解析
    • レコードを DB に格納する (サービス コールを使用)
    • アップロードされたファイルのすべてのレコードをコミットするか、エラーがある場合はロールバックします
    • 処理に関するフィードバックを提供する (成功または失敗)

さまざまな例を見てきましたが、次のような良い例が見つかりませんでした:

  • ItemReader のフィールドの正規表現を定義する
  • エラーを収集し、ファイル処理レポートを生成します。
  • ジョブ全体をコミットまたはロールバックする (コミット間隔なし)
  • 単一のジョブ定義を使用し、(ファイル タイプに基づいて) 実行時に CSV フィールド、正規表現、ビジネス検証サービス、および処理サービスに渡す (参照?)

これらの問題に対処するサンプル コードへのポインタをいただければ幸いです

4

1 に答える 1

0

サンプルを自分でダウンロードして実行します。

于 2012-10-16T14:55:08.770 に答える