记一次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手动确认消息,而在代码中手动确认了消息。

相关推荐
云飞云共享云桌面13 小时前
河北某机器人工厂8个研发设计共享一台SolidWorks云主机
运维·服务器·网络·数据库·算法·性能优化·机器人
m0_4856146713 小时前
Linux-容器基础2
linux·运维·服务器
于齐龙13 小时前
2025年12月19日 - 操作系统
运维·服务器
QT 小鲜肉13 小时前
【Linux命令大全】001.文件管理之mattrib命令(实操篇)
linux·运维·服务器·chrome·笔记
杨了个杨898213 小时前
日志服务部署
运维·服务器
鸠摩智首席音效师14 小时前
如何在 Linux 上自动清理 Journalctl 日志 ?
linux·运维·服务器
鸠摩智首席音效师15 小时前
如何在 Linux 下以 www-data 用户运行 Crontab ?
linux·运维·服务器
不染尘.15 小时前
应用层之WWW
服务器·javascript·css·网络·网络协议·计算机网络·html
张彦峰ZYF15 小时前
高并发场景下的缓存穿透问题探析与应对策略
redis·分布式
iCxhust15 小时前
linux /etc 目录 etc是什么缩写
linux·运维·服务器·php