3
我在ActiveMQ上有許多目標(隊列)部署在單獨的服務器上。我想從我的程序中動態偵聽這些目的地。目前我正在收聽這些目的地,如下所示:JMS監聽器 - 動態選擇目標
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover://(tcp://192.168.25.26:61616)" />
</bean>
<bean id="myMessageListener" class="MyMessageListener"></bean>
<jms:listener-container
container-type="default"
connection-factory="jmsConnectionFactory"
acknowledge="auto" >
<jms:listener destination="TEST.FOO" ref="myMessageListener" />
<jms:listener destination="foo.bas" ref="myMessageListener" />
<jms:listener destination="foo.bar" ref="myMessageListener" />
</jms:listener-container>
我能夠成功接收來自這些目的地的消息。但是,正如您所看到的,我必須在上述配置中手動添加目的地。我想跳過這一點,並傾向於傾聽者動態選擇目的地。這可能嗎?怎麼樣?非常感謝任何形式的幫助/指導!
感謝您的回覆。如何動態創建特定目的地的偵聽器?在我上面的代碼中,我明確地綁定了一個偵聽器和一個目標。我希望偵聽器根據接收/偵聽的消息動態綁定到目標。幫助表示讚賞。 – Faisal 2012-02-14 10:47:26
簡短的回答,你不能。 – 2012-02-14 11:44:19
我見過這樣的代碼:'org.springframework.jms.support.destination.DynamicDestinationResolver'這樣的任務。我是Spring/JMS的新手,所以我無法完全理解它。 – Faisal 2012-02-14 12:07:05