首页 新闻 会员 周边 捐助

rabbitmq ready 一直为零

0
悬赏园豆:10 [已解决问题] 解决于 2020-12-05 08:34

消息发送后 客户端可以接收,但是rabbitmq 里Message rates下的状态有变化, ready/unacked/total 一直为0不变。

public void Register() {

        _channel.ExchangeDeclare(exchange: "exTest", type: "topic");
        _channel.QueueDeclare(queue: "queueTest", exclusive: false);
        _channel.QueueBind(queue: "queueTest", exchange: "exTest", routingKey: "t.key");

        var consumer = new EventingBasicConsumer(_channel);
        consumer.Received += (model, ea) => {
                var message = Encoding.UTF8.GetString(ea.Body.ToArray());
                var result = Process(message);
                if (result) {
                    _channel.BasicAck(ea.DeliveryTag, true); //返回消息确认
                }
        };

        _channel.BasicQos(0, 1, false);
       _channel.BasicConsume(queue: "queueTest", autoAck: false,  consumer: consumer);
    }

如果注释以下代码则 ready 可以正常统计。
_channel.BasicQos(0, 1, false);
_channel.BasicConsume(queue: "queueTest", autoAck: false, consumer: consumer);

sam'ma的主页 sam'ma | 初学一级 | 园豆:77
提问于:2020-12-03 10:29
< >
分享
最佳答案
0

你把_channel.BasicConsume(queue: "queueTest", autoAck: false, consumer: consumer);

这个autoAck设置为true试试
这个参数是是否收到消息应答服务器

收获园豆:10
不知道风往哪儿吹 | 老鸟四级 |园豆:2037 | 2020-12-04 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册