4.2. Camel ActiveMQ コンポーネントの設定例
概要
このセクションでは、サンプルの Camel ActiveMQ コンポーネントインスタンスを初期化および設定する方法について説明します。このインスタンスを使用して、Camel ルートで ActiveMQ エンドポイントを定義できます。これにより、Camel ルートがブローカーからメッセージを送受信できるようになります。
前提条件
Camel ActiveMQ コンポーネントに必要なバンドルを定義する camel-activemq
機能は、デフォルトではインストールされません。camel-activemq
機能をインストールするには、以下のコンソールコマンドを入力します。
JBossFuse:karaf@root> features:install camel-activemq
Camel ActiveMQ コンポーネントのサンプル
次のブループリントのサンプルは、SSL/TLS セキュリティーと JAAS 認証の両方が有効になっている Camel ActiveMQ コンポーネントの完全な設定を示しています。Camel ActiveMQ コンポーネントインスタンスは activemqssl
Bean ID と定義されます。つまり、Camel ルート内でエンドポイントを定義するときに使用する activemqssl
スキームに関連付けられています。
<?xml version="1.0" encoding="UTF-8"?> <beans ... > ... <!-- Configure the activemqssl component: --> <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQSslConnectionFactory"> <property name="brokerURL" value="ssl://localhost:61617" /> <property name="userName" value="Username"/> <property name="password" value="Password"/> <property name="trustStore" value="/conf/client.ts"/> <property name="trustStorePassword" value="password"/> </bean> <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"> <property name="maxConnections" value="8" /> <property name="maximumActive" value="500" /> <property name="connectionFactory" ref="jmsConnectionFactory" /> </bean> <bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration"> <property name="connectionFactory" ref="pooledConnectionFactory"/> <property name="transacted" value="false"/> <property name="concurrentConsumers" value="10"/> </bean> <bean id="activemqssl" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="configuration" ref="jmsConfig"/> </bean> </beans>
Camel ルートのサンプル
以下の Camel ルートは、前述の例で定義された Camel ActiveMQ コンポーネントを参照する activemqssl
スキームを使用して、ブローカーの security.test
キューにメッセージを安全に送信するサンプルエンドポイントを定義します。
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>
...
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="timer://myTimer?fixedRate=true&period=5000"/>
<transform><constant>Hello world!</constant></transform>
<to uri="activemqssl:security.test"/>
</route>
</camelContext>
...
</beans>