当前位置: 首页 > news >正文

【RabbitMQ的死信队列】

死信队列

  • 什么是死信队列
    • 死信队列的配置方式
    • 死信消息结构

什么是死信队列

  1. 消息被消费者确认拒绝。消费者把requeue参数设置为true(false),并且在消费后,向RabbitMQ返回拒绝。channel.basicReject或者channel.basicNack。
  2. 消息达到预设的TTL时限还一直没有被消费。TTL时长可能是制队列的本身特性,也可能是消息的特性。

可以通过配置策略的方式实现:
rabbitmqctl set_policy TTL ".*" '{"message-ttl":60000}' --apply-to queues

也可以通过创建队列的时候声明,java代码如下:

Map<String, Object> args = new HashMap<String, Object>();
args.put("x-message-ttl", 60000);
channel.queueDeclare("myqueue", false, false, false, args);
  1. 消息由于队列已经达到最长长度限制而被丢掉

死信队列的配置方式

RabbitMQ中有两种方式可以声明死信队列,一种是针对某个单独队列指定对应的死信交换机,这个交换机也要绑定队列。另一种就是以
策略的方式进行批量死信队列的配置。

通过代码的方式给队列声明死信交换机

        Channel channel = openChannel();Map<String, Object> params = new HashMap<>();params.put("x-message-ttl", 60000);// 死信交换机的名称params.put("x-dead-letter-exchange", "deadletterexchange");// 死信队列的路由键params.put("x-dead-letter-routing-key", "dde");AMQP.Queue.DeclareOk declareOk = channel.queueDeclare(queueName, true, false, false, params);channel.queueBind(queueName,"test1","ddeorigin");

针对多个队列,可以使用策略方式,配置统一的死信队列。
rabbitmqctl set_policy DLX ".*" '{"dead-letter-exchange":"my-dlx"}' --apply-to queues

死信消息结构

在这里插入图片描述

http://www.lryc.cn/news/510923.html

相关文章:

  • 掌握软件工程基础:知识点全面解析【chap02】
  • 公路边坡安全监测中智能化+定制化+全面守护的应用方案
  • 闲谭Scala(3)--使用IDEA开发Scala
  • Go语言反射从入门到进阶
  • 【基于rust-wasm的前端页面转pdf组件和示例】
  • ARM64 Windows 10 IoT工控主板运行x86程序效率测试
  • 开放世界目标检测 Grounding DINO
  • easegen将教材批量生成可控ppt课件方案设计
  • 2002 - Can‘t connect to server on ‘192.168.1.XX‘ (36)
  • 【虚拟机网络拓扑记录】
  • 【单片机通讯协议】—— 常用的UART/I2C/SPI等通讯协议的基本原理与时序分析
  • Vue3 核心语法
  • LLaMA-Factory GLM4-9B-CHAT LoRA 指令微调实战
  • GTM023 W.H.Greub线性代数经典教材:Linear Algebra
  • 交换机与路由器的区别
  • springboot502基于WEB的牙科诊所管理系统(论文+源码)_kaic
  • soular使用教程
  • 纯div+css+js弹出窗
  • 一篇文章学会HTML
  • QGIS二次开发(插件开发)
  • Web防火墙和下一代防火墙的区别
  • Linux:alias别名永久有效
  • 【递归与回溯深度解析:经典题解精讲(中篇)】—— LeetCode
  • 01.HTTPS的实现原理-HTTPS的概念
  • 一文详解MacOS+CLion——构建libtorch机器学习开发环境
  • 【LeetCode 面试经典150题】详细题解之哈希表篇
  • linux socket编程之udp_dict_serve服务端--引入配置文件
  • selenium学习笔记(二)
  • 宏集eX710物联网工控屏在石油开采机械中的应用与优势
  • linux——vi命令常用操作