春兔AMQP

时间:2018-02-27 07:45:06

标签: rabbitmq spring-amqp spring-rabbit

当我在XML文件中配置RabbitMQ时,我试图理解Spring RabbitMQ代码。 在接收器xml文件中,我有

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

<rabbit:queue name="springQueue" auto-delete="true" durable="false"/>

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

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

<!-- Bindings -->

<rabbit:fanout-exchange name="amq.fanout">
    <rabbit:bindings>
        <rabbit:binding queue="springQueue"/>
    </rabbit:bindings>
</rabbit:fanout-exchange>

我的问题是 - 交换所绑定到哪个队列? springQueue或spring.queue ??我的意思是,在标签中问,它是指队列ID还是队列名称?同样在标签中,属性'queues'指的是队列ID或队列名称?请帮忙。我查看了模式(xsd),但无法清晰。请帮忙。

1 个答案:

答案 0 :(得分:1)

queues(在侦听器中)和queue(在绑定中)应该引用队列id属性。

在侦听器中,您可以使用queue-names属性中的队列名称,但绑定始终需要id。