开发者社区> 问答> 正文

RabbitMQ,publish怎样得到确认?:报错

publish后,怎样能得到确认,比如exchange是否投递到了队列中,生产者是否读取了队列中的消息,看介绍是支持的,但开发时API接口中,是怎样来接收和判断确认的呢?

展开
收起
kun坤 2020-06-06 23:44:09 427 0
1 条回答
写回答
取消 提交回答
  • 有个ack的######

    引用来自“hanzhankang”的答案

    有个ack的

    ack和noack是consume的确认,就是消费者取了队列中的信息后,确认后,消息才从队列中删除

    我问的是publish的确认,发布端的确认

    ######

    RabbitMQ在发布端支持transaction和confirm两种模式来确认是否发布成功,具体见https://www.rabbitmq.com/confirms.html

    但是,成功是指队列收到消息(或队列已持久化消息),而并不是consumer已经读取了消息。

    如果需要consumer确认读取到消息,不妨看看rabbitmq tutorials的第六个例子——RPC

    ######

    事务确认是一种方式,但是还有一种方式,是Publist confirm

    我知道在C的API里,知道调用amqp_confirm_select可以打开确认,但是没有找到怎样接收的方法

    ###### 可能需要自己处理basic.ack消息######

    引用来自“hncscwc”的答案

    可能需要自己处理basic.ack消息
    就是不知道调用哪个API接口来处理,看JAVA的API,有ConfirmListen监听回调函数,但是C接口中没看到
    ######参阅  http://my.oschina.net/moooofly/blog/142095?p=1#rpl_279025130 中的评论
    2020-06-06 23:44:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
RocketMQ Client-GO 介绍 立即下载
RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载