316.4. Aggregate
情報: この集約ストラテジーを適切に機能させるには、完了の先行チェックが必要であることに注意してください。
この例では、入力ディレクトリーで見つかったすべてのテキストファイルを、出力ディレクトリーに格納される 1 つの Tar ファイルに集約します。
from("file:input/directory?antInclude=*/.txt") .aggregate(new TarAggregationStrategy()) .constant(true) .completionFromBatchConsumer() .eagerCheckCompletion() .to("file:output/directory");
発信 CamelFileName
メッセージヘッダーは、java.io.File.createTempFile を使用して作成され、".tar" 接尾辞が付きます。 この動作をオーバーライドする場合は、ルートで CamelFileName
ヘッダーの値を明示的に設定できます。
from("file:input/directory?antInclude=*/.txt") .aggregate(new TarAggregationStrategy()) .constant(true) .completionFromBatchConsumer() .eagerCheckCompletion() .setHeader(Exchange.FILE_NAME, constant("reports.tar")) .to("file:output/directory");