35.4. ExchangeHelper クラス
概要 リンクのコピーリンクがクリップボードにコピーされました!
org.apache.camel.util.ExchangeHelper クラスは、プロセッサーの実装に役立つメソッドを提供する Apache Camel のユーティリティークラスです。
エンドポイントの解決 リンクのコピーリンクがクリップボードにコピーされました!
static resolveEndpoint() メソッドは、ExchangeHelper クラスの最も有用なメソッドの 1 つです。プロセッサー内でこれを使用して、その場で新しい Endpoint インスタンスを生成します。
例35.6 resolveEndpoint() メソッド
resolveEndpoint に対する最初の引数はエクスチェンジインスタンスで、2 番目の引数は通常エンドポイント URI 文字列です。例35.7「File エンドポイントの作成」 では、エクスチェンジインスタンス exchange から新しい File エンドポイントを作成する方法を示しています。
例35.7 File エンドポイントの作成
Endpoint file_endp = ExchangeHelper.resolveEndpoint(exchange, "file://tmp/messages/in.xml");
Endpoint file_endp = ExchangeHelper.resolveEndpoint(exchange, "file://tmp/messages/in.xml");
エクスチェンジアクセサーのラップ リンクのコピーリンクがクリップボードにコピーされました!
ExchangeHelper クラスは、Exchange クラスの対応する getBeanProperty() メソッドをラップする getMandatoryBeanProperty() 形式の static メソッドを複数提供します。これらの違いは、オリジナルの getBeanProperty() アクセサーは、対応するプロパティーが利用できない場合に null を返し、ラッパーメソッド getMandatoryBeanProperty() は、Java の例外を投げることです。以下のラッパーメソッドが ExchangeHelper クラスに実装されています。
交換パターンのテスト リンクのコピーリンクがクリップボードにコピーされました!
一部の交換パターンは、In メッセージの保持に対応しています。また、一部の交換パターンは、Out メッセージの保持にも対応しています。エクスチェンジオブジェクトが In メッセージまたは Out メッセージを保持することができるかどうかを簡単に確認するために、ExchangeHelper クラスは以下のメソッドを提供しています。
In メッセージの MIME コンテンツタイプを取得します。 リンクのコピーリンクがクリップボードにコピーされました!
エクスチェンジの In メッセージの MIME コンテンツタイプを確認する場合、ExchangeHelper.getContentType(exchange) メソッドを呼び出すことでアクセスすることができます。これを実装するには、ExchangeHelper オブジェクトは In メッセージのヘッダー Content-Type の値を確認します。このメソッドはヘッダー値を設定するため、基礎となるコンポーネントに依存します。