384.3. Marshal


この例では、Zip ファイル圧縮を使用して通常のテキスト/XML ペイロードを圧縮ペイロードにマーシャリングし、それを MY_QUEUE という ActiveMQ キューに送信します。

from("direct:start")
    .marshal().zipFile()
    .to("activemq:queue:MY_QUEUE");

作成された Zip ファイル内の Zip エントリーの名前は、受信した CamelFileName メッセージヘッダーに基づいています。これは、ファイルコンポーネントによって使用される標準のメッセージヘッダーです。さらに、送信 CamelFileName メッセージヘッダーは、受信 CamelFileName メッセージヘッダーの値に ".zip" 接尾辞を付けて自動的に設定されます。たとえば、次のルートで入力ディレクトリーに "test.txt" という名前のファイルが見つかった場合には、出力は "test.txt" という名前の単一の Zip エントリーを含む "test.txt.zip" という名前の Zip ファイルになります。

from("file:input/directory?antInclude=*/.txt")
    .marshal().zipFile()
    .to("file:output/directory");

着信 CamelFileName メッセージヘッダーがない場合 (ファイルコンポーネントが consumer でない場合など)、メッセージ ID がデフォルトで使用されます。メッセージ ID は通常、一意に生成された ID であるため、ID-MACHINENAME-2443-1211718892437-1-0.zip のようなファイル名になります。この動作をオーバーライドする場合は、ルートで CamelFileName ヘッダーの値を明示的に設定できます。

from("direct:start")
    .setHeader(Exchange.FILE_NAME, constant("report.txt"))
    .marshal().zipFile()
    .to("file:output/directory");

このルートにより、出力ディレクトリーに "report.txt.zip" という名前の Zip ファイルが作成され、"report.txt" という名前の Zip エントリーが 1 つ含まれます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.