消息发送后 客户端可以接收,但是rabbitmq 里Message rates下的状态有变化, ready/unacked/total
一直为0不变。
这个问题比较官方的回答是这样的:
未确认的消息意味着消费者已经读过它,但是消费者从来没有向RabbitMQ经纪人发回ACK说它已经完成处理它。 我不是过分熟悉Spring
Framework插件,但在某处(对于您的消费者),您将声明您的队列,它可能看起来像这样
channel.queueDeclare(queueName, ....)
其实通俗一些来说,就是你的项目里面,已经有消费者消费过这条消息了,在我的项目里是设置了监听器对该消息进行消费,代码如下:
package net.xdclass.xdclasssp.mq;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
/**
*
* 消息的监听
*/
@Component
//监听哪个队列
@RabbitListener(queues = "order_queue")
public class OrderMQListener {
@RabbitHandler
public void messageHandler(String body, Message message){
// 消息的编号
long msgTag = message.getMessageProperties().getDeliveryTag();
System.out.println("msgTag="+msgTag);
System.out.println("message="+message.toString());
System.out.println("body="+body);
}
}