0

我正在编写一个消息侦听器,它需要接受来自命名队列的消息。使用 spring-amqp,我想知道是否可以配置此侦听器,以便无论其支持交换类型是什么,都将通过队列消费消息。

例如:

<rabbit:admin id="amqpAdmin" connection-factory="reconciliationAmqpConnectionFactory"/>

<rabbit:queue id="queue" name="exampleQueue" />

这会将这个示例队列绑定到直接交换,但是如果消费者应该将队列绑定到直接、扇出、标头或主题交换怎么办?本质上,我想知道是否有一种方法可以将消费侦听器的队列绑定与在运行时必须知道其支持交换的确切类型分离。

4

1 回答 1

0

我不认为我理解这个问题。

没有“支持交换”之类的东西。

消费者从队列中消费;他们不知道上游交换是什么或队列是如何绑定的。是的,有一个默认的直接交换,队列按名称绑定,但这只是为了方便;在生产中使用它是不寻常的。

您创建交换、队列、绑定和消费者从队列消费;生产者发送到交易所。

也许您的困惑是因为大多数示例都在一个地方显示了所有配置。

你可以构建任何你想要的上游基础设施,但关键是消费者从队列中消费。

查看Spring Integration 示例以获取一些配置示例。

有关一些 Java 配置示例,请参阅stock示例。

于 2014-03-15T00:51:59.977 回答