RabbitMQ实战 - Return机制

    科技2023-11-23  106

    1 什么是Return机制

    Return Listener 用于处理一些不可路由的消息。正常情况下,Pro通过指定一个Exchange和Routingkey,把消息送到某队列,然后Con监听队列,进行消费处理操作。

    但是,如果我们在发送消息时,当前Exchange不存在或Routingkey路由不到,若要监听这种不可达的消息,就要用到Return Listener

    Return机制示意图

    2 Return机制的实现

    添加return监听:addReturnListener,Pro去监听这些不可达的消息,做一些后续处理。 比如记录消息日志或及时去跟踪记录,有可能重新设置一下就好了。

    在基础API中的一个关键配置项:Mandatory

    true,则监听器会接收到路由不可达的消息,然后进行后续处理false,则broker自动删除该消息

    3 代码实战

    Con

    Pro

    启动Con

    启动Pro 由于Pro设置的是一个错误的路由key,所以消费端没有任何打印,而生产端打印了如下内容

    如果我们将 Mandatory 属性设置为false,对于不可达的消息会被Broker直接删除,那么Pro就不会进行任何打印了。如果我们的路由key设置为正确的,那么Con能够正确消费,Pro也不会进行任何打印。

    公众号-JavaEdge 认证博客专家 博客专家 慕课网认证作者 腾讯云+最佳作者 1.经历:19届双一流本科,曾在百度、携程、华为等大厂搬金砖2.涉猎领域:Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!3.开源社区荣誉:阿里云栖社区博客专家、腾讯云+社区2019年度最佳作者、慕课网认证作者、百万流量万粉博客专家,简书优秀创作者兼《程序员》专题管理员4.著作:在牛客网著有《Java源码面试解析指南》,目前已有上千人在学习,已助众多读者成功拿到满意offer~
    Processed: 0.013, SQL: 8