Red Hat Training
A Red Hat training course is available for Red Hat Fuse
169.10. 異なる JMS プロバイダーの設定
次のように、Spring XML で JMS プロバイダーを設定できます。
基本的に、必要な数の JMS コンポーネントインスタンスを設定し、id
属性 を使用して一意の名前 を付けることができます。前の例では、activemq
コンポーネントを設定しています。同じことを行って、MQSeries、TibCo、BEA、Sonic などを設定できます。
名前付き JMS コンポーネントを作成したら、URI を使用してそのコンポーネント内のエンドポイントを参照できます。たとえば、コンポーネント名 activemq
の場合、URI 形式 activemq:queue:|topic:destinationName
を使用して宛先を参照できます。他のすべての JMS プロバイダーに対して同じアプローチを使用できます。
これは、SpringCamelContext がエンドポイント URI に使用するスキーム名のスプリングコンテキストからコンポーネントを遅延フェッチし、コンポーネントにエンドポイント URI を解決させることによって機能します。
169.10.1. JNDI を使用して ConnectionFactory を見つける
J2EE コンテナーを使用している場合は、Spring で通常の <bean>
メカニズムを使用するのではなく、JNDI を検索して JMS ConnectionFactory
を見つける必要がある場合があります。これは、Spring のファクトリー bean または新しい Spring XML 名前空間を使用して行うことができます。以下に例を示します。
<bean id="weblogic" class="org.apache.camel.component.jms.JmsComponent"> <property name="connectionFactory" ref="myConnectionFactory"/> </bean> <jee:jndi-lookup id="myConnectionFactory" jndi-name="jms/connectionFactory"/>
JNDI ルックアップの詳細については、Spring リファレンスドキュメントの jee スキーマ を参照してください。