在SpringBoot的RabbitMQ配置中,有如下一项:
spring.rabbitmq.template.mandatory = true

官方注释:

Enable mandatory messages. If a mandatory message cannot be routed to a queue by the server, it will return an unroutable message with a Return method.

大意为:开启强制消息投递(mandatory为设置为true),但消息未被路由至任何一个queue,则回退一条消息到RabbitTemplate.ReturnCallback中的returnedMessage方法:

public interface ReturnCallback {/*** Returned message callback.* @param message the returned message.* @param replyCode the reply code.* @param replyText the reply text.* @param exchange the exchange.* @param routingKey the routing key.*/void returnedMessage(Message message, int replyCode, String replyText,String exchange, String routingKey);
}

浏览RabbitAutoConfiguration发现如下代码:

private boolean determineMandatoryFlag() {Boolean mandatory = this.properties.getTemplate().getMandatory();return (mandatory != null ? mandatory : this.properties.isPublisherReturns());
}

如果设置了mandatory参数,则直接取值;如若mandatory参数为空,则取之于否起开了消息回退

RabbitMQ配置之mandatory,publisher-returns相关相关推荐

  1. Rabbitmq - 配置

    目录 RabbitMQ 配置 简介 环境变量 配置文件 运行时参数和策略 RabbitMQ 配置 简介 默认配置,已经可以有效地运行RabbitMQ,并且在大多数情况下不需要更改配置.不过为了在生产环 ...

  2. 【深入理解RabbitMQ】RabbitMQ exclusive和mandatory的理解

                                 RabbitMQ exclusive和mandatory的理解 exclusive 排他性 队列的排他性的理解,是针对首次建立连接的,一个连接 ...

  3. RabbitMQ学习笔记 - mandatory参数

    参考:<<RabbitMQ实战指南>> mandatory和immediate是channel.basicPublish方法中的两个参数,它们都有当消息传递过程中不可达目的地时 ...

  4. 第二节 RabbitMQ配置

    第二节 RabbitMQ配置 原文:第二节 RabbitMQ配置 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/detail ...

  5. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  6. maven 排除配置文件打包_Maven打包pom里面配置exclude 排除掉环境相关的配置文件...

    Maven打包pom里面配置exclude 排除掉环境相关的配置文件 有几种方式: 1. 打包时,指定环境参数把环境的配置文件复制过去 2. 不打包所有的环境相关的配置文件,直接由运维的人维护 可以在 ...

  7. 【深入理解RabbitMQ原理】RabbitMQ 配置,生产者和消费者

    RabbitMQ 配置,生产者和消费者 1. 生产者的配置 1)配置都要先声明队列 队列的声明方式: <rabbit:queueid="Bgate_Bgate1001Response_ ...

  8. Maven打包pom里面配置exclude 排除掉环境相关的配置文件

    Maven打包pom里面配置exclude 排除掉环境相关的配置文件, resources excludes 关于Maven resource配制中include与exclude的关系 <inc ...

  9. SAP可配置物料Super BOM的相关配置

    SAP可配置物料Super BOM的相关配置 https://blog.csdn.net/champaignwolf/article/details/84949523 一.首先相关后台的配置: 分类系 ...

最新文章

  1. 【0729作业】随机生成20个手机号码
  2. 用异或来交换两个变量能提快速度是错误的
  3. 西部数据 MyCloud 网络存储存在 RCE 漏洞
  4. 大型网站运维工程师的职责和前景
  5. uniapp 单元测试_单元测试不够验收测试凑,编写验收测试有什么技巧?
  6. highcharts动态获取数据生成图表问题
  7. Java8 Lambda总结
  8. 在Ubuntu 16.04.3 LTS 和 Windows 下安装 Go 环境
  9. linux扩容后显示管理,linux之lvm管理及扩容
  10. 运行TensorFlow
  11. Redis数据库15点介绍
  12. python函数传入对象
  13. java 连接 timesten_极简Java连接TimesTen程序
  14. 加速度及陀螺仪传感器BMI160
  15. python生成拼音
  16. c++:std::dec, std::hex, std::oct
  17. 【VideoQA最新文献阅读】Open-Ended Multi-Modal Relational Reason for Video Question Answering
  18. 巴比特独家丨从0.06%飙涨到30%,BAT在Compound的利率飙涨背后实际危机四伏
  19. 信息安全技术——(五)信息隐藏技术
  20. CS143 6、7. 自顶向下和自底向上的语法分析

热门文章

  1. maven打包时打包指定的lib文件夹
  2. Cocos2d-JS开发中的一些小技巧(持续更新)
  3. Linux 系统学习
  4. github/git问题之 LibreSSL SSL_connect: Operation timed out in connection to github.com:443
  5. Python能用来做什么?以下是Python的三大主要用途
  6. “知乎女神”诈骗被人肉,一场个人隐私权与网络监督权的博弈
  7. HTTP-web-Internet
  8. 手撕python_GitHub - caishiqing/manual: 手撕机器学习
  9. 项目文件快速搜索神器
  10. AI模型训练无需购买设备啦!Tesar超算网络让AI模型训练更便捷!