8

我已经设置了一个主题交换,以便消费者队列与“#.topic”绑定。我想根据前缀使用不同的确认策略。是否将完整的路由密钥发送给消费者?如果是这样,我该如何访问它?AMQP 概念方面的答案可能就足够了,但涉及 rabbitmq-c 的答案将是理想的。

4

1 回答 1

8

即使您像在示例中给出的那样进行绑定,收到的消息也包含完整的路由键。这意味着您可以提取它以帮助您处理消息。不幸的是,我只知道如何在 Java 中执行此操作,因此请尝试从那里进行推断。

QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String routingKey = delivery.getEnvelope().getRoutingKey();

交付对象包含一个作为有效负载的主体,可以使用它来检索,delivery.getBody()以及一个包含其他信息(如完整路由密钥)的信封对象。

于 2012-11-19T14:59:02.307 回答