2016-03-04 1267 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/>元素)的便捷方式。