第43章 Exchange インターフェース
概要
本章では、Exchange インターフェースについて説明します。Apache Camel 2.0 で実行される camel-core モジュールのリファクタリングにより、カスタムエクスチェンジタイプを定義する必要がなくなりました。DefaultExchange 実装をすべてのケースで使用できるようになりました。
43.1. Exchange インターフェース リンクのコピーリンクがクリップボードにコピーされました!
概要 リンクのコピーリンクがクリップボードにコピーされました!
org.apache.camel.Exchange 型のインスタンスは、エクスチェンジプロパティーとしてエンコードされた追加のメタデータと共に、ルートを通過する現在のメッセージをカプセル化します。
図43.1「エクスチェンジ継承階層」 エクスチェンジタイプの継承階層を表示します。デフォルトの実装は常に DefaultExchange が使用されます。
図43.1 エクスチェンジ継承階層
Exchange インターフェース リンクのコピーリンクがクリップボードにコピーされました!
例43.1「Exchange インターフェース」 は、org.apache.camel.Exchange インターフェースの定義を示しています。
例43.1 Exchange インターフェース
エクスチェンジのメソッド リンクのコピーリンクがクリップボードにコピーされました!
Exchange インターフェースは以下のメソッドを定義します。
getPattern()、setPattern()− エクスチェンジパターンは、org.apache.camel.ExchangePatternに列挙される値のいずれかになります。以下の交換パターンの値がサポートされます。-
InOnly -
RobustInOnly -
InOut -
InOptionalOut -
OutOnly -
RobustOutOnly -
OutIn -
OutOptionalIn
-
-
setProperty()、getProperty()、getProperties()、removeProperty()、hasProperties()− プロパティー setter および getter メソッドを使用して、名前付きプロパティーをエクスチェンジのインスタンスに関連付けます。プロパティーは、コンポーネントの実装に必要なその他のメタデータで構成されます。 In メッセージの setter および getter メソッド
setIn()、getIn()。DefaultExchangeクラスが提供するgetIn()実装は Lazy Creation セマンティクスを実装します。In メッセージが null の場合にgetIn()が呼ばれると、DefaultExchangeクラスはデフォルトの In メッセージを作成します。setOut(),getOut(),)、get Out ()、および getter メソッド)。hasOut()\":\"-ipmilanSetter and getter メソッド(Out メッセージに対して setOut(getOut()メソッドは、Out メッセージの Lazy Creation を暗黙的にサポートします。つまり、現在の Out メッセージがnullの場合、新しいメッセージインスタンスが自動的に作成されます。-
setException(),getException()− (Throwable型の) 例外オブジェクトの getter および setter メソッド。 -
isFailed()aadClient-ListenerExternalReturnstrue。エクスチェンジが例外または障害によって失敗した場合。 -
isTransacted()− エクスチェンジが処理された場合に、trueを返します。 -
エクスチェンジがロールバック対象としてマーク
されている場合は、isRollback()\":\"Returnstrueになります。 -
getContext()− 関連付けられたCamelContextインスタンスへの参照を返します。 -
copy()\":\"-ipmilanCreates は、現在のカスタムエクスチェンジオブジェクトのコピーと同じ(エクスチェンジ ID の)コピーを作成します。In メッセージのボディーおよびヘッダー、Out メッセージ (存在する場合)、および Fault メッセージ (存在する場合) もこの操作によってコピーされます。 -
setFromEndpoint()、getFromEndpoint(): このメッセージを初期化したコンシューマーエンドポイントの getter メソッドおよび setter メソッド (通常は、ルートの開始時にfrom()DSL コマンドに表示されるエンドポイント)。 -
setFromRouteId(),getFromRouteId()aadClient-ipmilanGetters and setters for the route ID that that basedd exchange.getFromRouteId()メソッドは、内部でのみ呼び出す必要があります。 -
setUnitOfWork()、getUnitOfWork()−org.apache.camel.spi.UnitOfWorkBean プロパティーの getter および setter メソッド。このプロパティーは、トランザクションに参加できるエクスチェンジにのみ必要です。 -
エクスチェンジ ID の
setExchangeId()、getExchangeId()、getExchangeId()、および setter メソッド。カスタムコンポーネントがエクスチェンジ ID を使用するかどうかは実装の詳細です。 -
addOnCompletion()− エクスチェンジの処理が完了したときに呼び出されるorg.apache.camel.spi.Synchronizationコールバックオブジェクトを追加します。 -
すべての OnCompletion コールバックオブジェクトを、指定したエクスチェンジオブジェクトに引き継ぎます。