2016-03-04 1265 views
2

我試圖將下列xml配置轉換爲java配置。此配置提及listener1將會從隊列2SimpleMessageListenerContainer爲每個監聽器分配隊列(java配置)

<rabbit:listener-container connection-factory="connectionFactory"> 
    <rabbit:listener ref="listener1" queues="queue1" /> 
    <rabbit:listener ref="listener2" queues="queue2" /> 
</rabbit:listener-container> 

與Java配置從隊列1和LISTENER2消息,我已經做了以下內容:

SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory()); 
container.setQueues(queue1(), queue2()); 
container.setMessageListener(messageListenerAdapter1()); 
container.setMessageListener(messageListenerAdapter2()); 

利用這種結構,如何listener1配置來檢索隊列1消息和listener2從隊列2中檢索消息?

回答

4

XML配置解析器爲每個<rabbit:listener />元素創建一個新的SimpleMessageListenerContainer

一個容器只能有一個偵聽器; XML只是將多個容器連接到公共屬性(來自<rabbit:listener-container/>元素)的便捷方式。