78.10. Spring で宛先とコンジットを設定する
78.10.1. Namespace
Camel トランスポートエンドポイントの設定に使用される要素は、名前空間 http://cxf.apache.org/transports/camel
で定義されています。通常、接頭辞 camel
を使用して参照されます。Camel トランスポート設定要素を使用するには、以下に示す行をエンドポイントの設定ファイルの beans 要素に追加する必要があります。さらに、設定要素の名前空間を xsi:schemaLocation
属性に追加する必要があります。
設定名前空間の追加
<beans ... xmlns:camel="http://cxf.apache.org/transports/camel ... xsi:schemaLocation="... http://cxf.apache.org/transports/camel http://cxf.apache.org/transports/camel.xsd ...>
78.10.2. destination
要素
camel:destination
要素とその子要素を使用して、Camel トランスポートサーバーエンドポイントを設定します。camel:destination
要素は、エンドポイントに対応する WSDL port 要素を指定する単一の属性 name
を取ります。name
属性の値は、portQName`.camel-destination` の形式を取ります。以下の例では、エンドポイントのターゲット名前空間がhttp://widgets.widgetvendor.net
の場合、WSDLフラグメント<port binding="widgetSOAPBinding" name="widgetSOAPPort">
によって指定されたエンドポイントの設定を追加するために使用する camel:destination
要素を示します。
camel:destination Element
... <camel:destination name="{http://widgets/widgetvendor.net}widgetSOAPPort.http-destination> <camelContext id="context" xmlns="http://activemq.apache.org/camel/schema/spring"> <route> <from uri="direct:EndpointC" /> <to uri="direct:EndpointD" /> </route> </camelContext> </camel:destination> <!-- new added feature since Camel 2.11.x <camel:destination name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-destination" camelContextId="context" /> ...
Spring の camel:destination
要素には、設定情報を指定する多数の子要素があります。以下に説明します。
要素
説明
camel-spring:camelContext
camel 宛先で camel コンテキストを指定できます
camel:camelContextRef
camel 宛先に挿入する camel コンテキスト ID
78.10.3. conduit
要素
camel:conduit
要素とその子要素を使用して、Camel トランスポートクライアントを設定します。camel:conduit
要素は、エンドポイントに対応する WSDL ポート要素を指定する単一の属性 name
を取ります。name
属性の値は、portQName`.camel-conduit` の形式を取ります。たとえば、以下のコードは、エンドポイントのターゲット名前空間が http://widgets.widgetvendor.net
の場合、WSDL フラグメント <port binding="widgetSOAPBinding" name="widgetSOAPPort">
によって指定されていたエンドポイントの設定を追加するために使用される camel:conduit
要素を示しています。
http-conf:conduit Element
... <camelContext id="conduit_context" xmlns="http://activemq.apache.org/camel/schema/spring"> <route> <from uri="direct:EndpointA" /> <to uri="direct:EndpointB" /> </route> </camelContext> <camel:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-conduit"> <camel:camelContextRef>conduit_context</camel:camelContextRef> </camel:conduit> <!-- new added feature since Camel 2.11.x <camel:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.camel-conduit" camelContextId="conduit_context" /> <camel:conduit name="*.camel-conduit"> <!-- you can also using the wild card to specify the camel-conduit that you want to configure --> ... </camel:conduit> ...
camel:conduit
要素には、設定情報を指定する多数の子要素があります。以下に説明します。
要素
説明
camel-spring:camelContext
camel コンジットで camel コンテキストを指定できます。
camel:camelContextRef
camel コンジットに挿入する camel コンテキスト ID