概要 : バッチ エクスポート中に生成された行を含む CSV ファイルをエクスポートする必要があります。
DB からデータを取得するための JdbcItemreader が既にあります。プロセッサは、OutputData を必要な形式にフォーマットします。そして、CSVファイルを書き込む基本的なFlatFileItemWriterがあります
これは私のエクスポートされた CSV-Lines がどのように見えるかです:
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
これらの行が見苦しいことは知っていますが、それは他の CSV インポーターからの要件です。ここで、「合計行」を計算して、同じ ID を持つ 2 つの行の前に追加する必要があります。計算された「合計線」は次のようになります。
040010;0006765;0001420;0008014;+00000036,00;+00000000,00;+00000036,00;+00000000,00;m06;100220;000014;030;CNAME;30;31
したがって、最終的な出力は次のようになります。
040010;0006765;0001420;0008014;+00000036,00;+00000000,00;+00000036,00;+00000000,00;m06;100220;000014;030;CNAME;30;31
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
ここに私の質問があります:
- FlatFileItemWriter を介して CSV ファイルの他の行の間に行を追加することは可能ですか? または、ファイルを書き込む前に合計行を生成する必要がありますか?
- ItemWriter / Processor の完全なデータチャンクにアクセスすることは何とか可能ですか? ファイルに書き込む前に新しい行をチャンクに追加できるようにするには?