我正在编写一个需要接受来自命名Queue的消息的消息监听器。使用spring-amqp,我想知道是否可以配置这个监听器,以便无论其支持交换类型是什么,都会通过队列消费消息。
例如:
<rabbit:admin id="amqpAdmin" connection-factory="reconciliationAmqpConnectionFactory"/>
<rabbit:queue id="queue" name="exampleQueue" />
这会将此示例队列绑定到直接交换,但如果使用者应将队列绑定到直接,扇出,标头或主题交换,该怎么办?从本质上讲,我想知道是否有一种方法可以将耗费侦听器的队列绑定与运行时必须知道其备份交换的确切类型分开。
答案 0 :(得分:0)
我认为我不明白这个问题。
没有&#34;支持交换&#34;。
消费者从队列中消费;他们不知道上游交换是什么或队列是如何绑定的。是的,有一个默认的直接交换,队列按名称绑定,但这只是为了方便;在生产中使用它是不常见的。
您可以从队列中创建交换,队列,绑定和使用者消耗;生产者发送到交易所。
也许您的困惑是因为大多数示例都在一个地方显示所有配置。
您可以构建您想要的任何上游基础架构,但关键是消费者从队列中消耗。
请参阅Spring Integration sample了解一些配置示例。
有关一些Java配置示例,请参阅stocks sample。