使用特定路由密钥消息?

时间:2017-11-26 17:20:27

标签: java rabbitmq jms

我是Rabbit MQ的新手。阅读几个Rabbit MQ tutorial

在上述链接中,我的问题是ReceiveLogs

     channel.basicConsume(queueName, true, consumer)

由于单个队列可以保存使用不同routingKey路由的消息。假设消费者想要使用具有特定路由密钥的消息。 可能吗 ?在这种情况下,我是否只需要在特定队列上发布带有单个路由密钥的meesage?

我在Channel API

下看不到任何方法

1 个答案:

答案 0 :(得分:1)

在RabbitMQ生产者发布到an exchange而不是queue - 这将生产者与消费者分离。 是的,如上所述in the official article,您可以在同一个队列中使用不同的routing key路由消息​​,只需创建more than one binding for that queue即可。

现在直接回答您的问题:如果您希望每个队列有一个路由密钥,则需要执行以下操作:

您希望消费者收听的每个routing key

  • 创建队列
  • 仅为该队列调用channel.queueBind(queueName, EXCHANGE_NAME, <your_routing_key>);一次。