2017-05-22 13 views
0

春バッチジョブがあるので、複数のテキストファイルをフォルダから読み込む必要があります。 要件は次のようになります: - 1つのファイルを読み込む必要があります。エントリが300行以上ある場合は、チャンクサイズを300に設定し、データベースに書き込む必要があります。 300未満の場合は、チャンクサイズをコード行数として設定し、データベースに書き込む必要があります。 次に、フォルダ内のすべてのファイルが消耗するまで、次のファイルを読み込んでデータベースに書き込む必要があります。複数のファイルを一度に1ファイルずつバッチ処理する

答えて

0

これは、分割されたステップの完全な使用例です。一般的には、Partitionerに処理するファイルを指定してください。子ステップを作成してスピンオフし、それぞれの子ステップは単一の子を処理します。これらの子ステップでは、チャンクサイズを300に設定します(フレームワークがファイルの最後に到達するか、300の倍数になると自動的にコミットします)。

また、子ステップのタスク実行プログラムを設定する必要があります。あなたの場合、一度に1つのファイルだけを処理したいので、SyncTaskExecutorが適しています。

詳細については、Spring Batch documentationまたはthis exampleを参照してください。

関連する問題