@RabbitListener(bindings = @QueueBinding(
value = @Queue(value = "message", durable = "true"),
exchange = @Exchange(name = "pxm-message") //交换机名称,durable 指是否持久化到数据库,type:模式
, key = "message.test"
))
@RabbitHandler
public void testMessage(Message message, Channel channel) throws Exception {
//消费者操作
logger.info("*****messgae.test,开始消费*****");
if (message.getBody() != null) {
String competitions = new String(message.getBody());
logger.info("消费端接收到消息 1:{},{}", competitions, message.getMessageProperties());
}
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
}
按照 Routing key 的规则,这段代码应该只会消费 message.test 中的消息 但是这段代码执行后将 message.test2 的消息也消费了
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.