Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在XML文件中配置RabbitMQ,使1)侦听器侦听多个队列2)2)侦听器侦听同一队列?_Java_Xml_Spring Amqp_Spring Rabbit - Fatal编程技术网

Java 如何在XML文件中配置RabbitMQ,使1)侦听器侦听多个队列2)2)侦听器侦听同一队列?

Java 如何在XML文件中配置RabbitMQ,使1)侦听器侦听多个队列2)2)侦听器侦听同一队列?,java,xml,spring-amqp,spring-rabbit,Java,Xml,Spring Amqp,Spring Rabbit,我试图理解Spring RabbitMQ XML配置。到目前为止,我从未遇到过侦听器正在列出(订阅)多个队列的xml配置。与wise一样,我从未发现有代码将两个侦听器订阅到同一xml文件中的同一队列。在浏览了XSD文档之后,我发现属性-“queue names”是一个以逗号分隔的队列名称列表。所以,我相信xml配置也可以是这样的- <rabbit:queue id="springQueue1" name="spring.queue1" auto-delete="true" durable=

我试图理解Spring RabbitMQ XML配置。到目前为止,我从未遇到过侦听器正在列出(订阅)多个队列的xml配置。与wise一样,我从未发现有代码将两个侦听器订阅到同一xml文件中的同一队列。在浏览了XSD文档之后,我发现属性-“queue names”是一个以逗号分隔的队列名称列表。所以,我相信xml配置也可以是这样的-

<rabbit:queue id="springQueue1" name="spring.queue1" auto-delete="true" durable="false"/>

<rabbit:queue id="springQueue2" name="spring.queue1" auto-delete="true" durable="false"/>


<rabbit:listener-container connection-factory="connectionFactory">
    <rabbit:listener queues="springQueue1, springQueue2" ref="messageListener"/>
</rabbit:listener-container>

<bean id="messageListener" class="com.ndpar.spring.rabbitmq.MessageHandler"/>

这是正确的吗?“队列”属性中的语法正确吗??另外,如果两个侦听器从同一队列接收数据,则

<rabbit:listener-container connection-factory="connectionFactory">
   <rabbit:listener queues="springQueue1" ref="messageListener1"/>
   <rabbit:listener queues="springQueue1" ref="messageListener2"/>
</rabbit:listener-container>
<bean id="messageListener1" class="com.ndpar.spring.rabbitmq.MessageHandler1"/>
<bean id="messageListener2" class="com.ndpar.spring.rabbitmq.MessageHandler2"/>

这是正确的吗??“ref”属性总是指bean id???或者它可以引用bean名称吗?? 这有效吗-

<rabbit:listener queues="springQueue1" ref="messageListener1, messageListener2"/>

请帮忙,谢谢

这是正确的吗?“队列”属性中的语法正确吗

是的,这是正确的;单个消费者从2个队列中消费

<rabbit:listener-container connection-factory="connectionFactory">
   <rabbit:listener queues="springQueue1" ref="messageListener1"/>
   <rabbit:listener queues="springQueue1" ref="messageListener2"/>
</rabbit:listener-container>

再次感谢先生:)
<rabbit:listener queues="springQueue1" ref="messageListener1, messageListener2"/>