CamelとActiveMQでSpringAsyncServletを使用しようとしています。以下のバージョンを使用しています。
<spring.version>3.2.0.M1</spring.version>
<camel.version>2.10.0</camel.version>
<jetty.version>8.1.3.v20120416</jetty.version>
<activemq.version>5.6.0</activemq.version>
サーバー(Jetty)に接続されているクライアントにメッセージをプッシュしたい。
私のラクダのルートは次のようになります。
from("mina:udp://source_machine:9998").to("activemq:myqueue");
これに基づいたSpring/Camel構成で次のようになりました。
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://localhost:61616" />
</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="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig" />
</bean>
上記の構成を使用すると、キューにメッセージを入力できます(少なくともエラーは発生しません)。ただし、このキューから読み取る方法がわかりません。
- Spring、Camel、Jettyを使用する場合、これはActiveMQを構成する正しい方法ですか?
javax.jms.MessageListener
キューから読み取ることができるようにMessageListenerを追加/登録するにはどうすればよいですか。- キューのサイズを制御して、キューを非永続的にするにはどうすればよいですか?
- 複数のリスナーを追加することが可能です
ありがとう。