第86章 Jolt


JOLT コンポーネント

Camel 2.16 以降で利用可能
Jolt コンポーネントを使用すると、JOLT 仕様を使用して JSON メッセージを処理できます。JSON 変換に JSON を実行する場合に適しています。
Maven ユーザーは、このコンポーネントの以下の依存関係を pom.xml に追加する必要があります。
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jolt</artifactId>
    <version>2.17.0.redhat-630xxx</version>
    <!-- use the same version as your Camel core version -->
</dependency>
Copy to Clipboard Toggle word wrap

URI 形式

jolt:specName[?options]
Copy to Clipboard Toggle word wrap
specName は、呼び出す仕様のクラスパスローカル URI、またはリモート仕様の完全な URL (例:file://folder/myfile.json)です。
以下の形式で URI にクエリーオプションを追加できます。 ?option=value&option=value&...

オプション

Expand
オプション
デフォルト
説明
allowContextMapAll (producer)
false
コンテキストマップが前詳細へのアクセスを許可するかどうかを設定します。デフォルトでは、メッセージの本文とヘッダーにのみアクセスできます。このオプションは、現在の Exchange および CamelContext へのフルアクセスに対して有効にできます。これを行うと、CamelContext API の全機能へのアクセスが開かれるため、潜在的なセキュリティーリスクが発生します。
allowTemplateFromHeader (producer)
false
ヘッダーのリソーステンプレートの使用を許可するかどうか (デフォルトは false)。このオプションを有効にすると、セキュリティーの問題があります。たとえば、ヘッダーに信頼されていないコンテンツやユーザー派生コンテンツが含まれている場合、これは最終的にエンドアプリケーションの信頼性および完全性に影響を与える可能性があるため、このオプションは注意して使用してください。
contentCache
true
ロード時のリソースコンテンツのキャッシュ。注記:Camel 2.9 のキャッシュされたリソースコンテンツは、エンドポイントの clearContentCache 操作を使用して JMX 経由でクリアできます。
outputType
Hydrated
変換の出力を、List または Maps、または JSON を含む String オブジェクトとして Hydrated に設定します。
inputType
Hydrated
変換の入力を List または Maps、または JSON を含む String オブジェクトとして Hydrated に設定します。
transformDsl
Chainr
提供された仕様の読み込みに使用する 変換 DSL。利用可能な値 Chainr、Shiftr、Defaultr、Removr、および Sortr。

動的仕様

Camel は ヘッダーを提供し、仕様に異なるリソースの場所を定義できます。このヘッダーが設定されている場合、Camel は設定されたエンドポイントでこれを使用します。これにより、実行時に動的仕様を指定できます。
Expand
ヘッダー
タイプ
説明
CamelJoltResourceUri
文字列
設定されたエンドポイントの代わりに使用する仕様リソースの URI。

サンプル

たとえば、以下のようなものを使用できます。
from("activemq:My.Queue").
  to("jolt:com/acme/MyResponse.json");
Copy to Clipboard Toggle word wrap
また、ファイルベースのリソースは以下のようになります。
from("activemq:My.Queue").
  to("jolt:file://myfolder/MyResponse.json?contentCache=true").
  to("activemq:Another.Queue");
Copy to Clipboard Toggle word wrap
また、以下のように、ヘッダーを使用してコンポーネントを動的に使用する仕様を指定することもできます。
from("direct:in").
  setHeader("CamelJoltResourceUri").constant("path/to/my/spec.json").
  to("jolt:dummy?allowTemplateFromHeader=true");
Copy to Clipboard Toggle word wrap
警告
allowTemplateFromHeader オプションを有効にすると、セキュリティーの問題があります。たとえば、ヘッダーに信頼できないコンテンツまたはユーザー派生コンテンツが含まれる場合、これは最終的に、エンドアプリケーションの確実性と整合性に及ぼす可能性があるため、このオプションを使用してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat