记一次RabbitMQ未配置Listener导致的报错

简单配置rabbitmq参数

java 复制代码
spring: 
     rabbitmq:
          host: 192.168.1.2
          port: 5672
          username: guest
          password: guest
          publisher-confirms: true
          virtual-host: print_test       

发送消息和接收消息虽然能成功,但是监听器接收消息确认后一直会打印如下错误

Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 0, class-id=60, method-id=80

增加配置后问题得到解决

java 复制代码
1spring: 
     rabbitmq:
          host: 192.168.1.2
          port: 5672
          username: guest
          password: guest
          publisher-confirms: true
          virtual-host: print_test 
          listener:
            simple:
                acknowledge-mode: manual
                retry:
                    #60秒后重试
                    initial-interval: 60000 
                    #启用发布重试
                    enabled: true
                    #传递消息的最大尝试次数
                    max-attempts: 3 
                    #尝试的最大时间间隔
                    max-interval: 60000 
                    #应用于先前传递重试时间间隔的乘数
                    multiplier: 1.0

推测原因是未设置acknowledge-mode: manual手动确认消息,而在代码中手动确认了消息。

相关推荐
程序员与背包客_CoderZ3 分钟前
高性能分布式KV存储引擎RocksDB入门与C/C++编码实战
c语言·开发语言·数据库·c++·分布式·分布式数据库·rocksdb
进击的_鹏5 分钟前
从零开始的 Redis 学习
服务器·数据库·c++·redis·缓存
实心儿儿18 分钟前
Linux —— 传输层协议TCP
linux·服务器·tcp/ip
4311媒体网1 小时前
帝国CMS网站自定义搭建技巧
服务器·开发语言·前端
Dachui_11221 小时前
企业内网大模型公网访问方案:Ollama + OpenWebUI + ZeroNews 实战部署记录
运维·服务器·安全·远程工作·内网穿透
2401_890603402 小时前
Linux 进程控制
linux·运维·服务器
汽车仪器仪表相关领域2 小时前
ZDT‑I伺服电机测试系统:四象限动态加载
大数据·数据库·分布式·功能测试·汽车·压力测试·可用性测试
啦啦啦啦啦zzzz2 小时前
时间轮定时器
linux·服务器·网络·c++·定时器
一只旭宝3 小时前
预约系统版本2(pyhton+flask可视化版本)
服务器·数据库·c++·笔记·python·flask
骇客野人3 小时前
Java分布式任务调度方案(完整落地指南)
java·开发语言·分布式