@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 的消息也消费了