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

相关推荐
青梅橘子皮7 分钟前
Linux---权限
linux·运维·服务器
Jul1en_20 分钟前
Claude 迁移 Codex 工作流迁移与更新
java·服务器·前端·后端·ai编程
KmSH8umpK44 分钟前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第九篇
数据库·redis·分布式
gQ85v10Db1 小时前
Redis分布式锁进阶第十五篇:全系列终极收官复盘 + 全站锁规范归档 + 生产零故障长期运维兜底总方案
运维·redis·分布式
_F_y1 小时前
仿RabbitMQ实现消息队列-服务端核心模块实现(5)
分布式·rabbitmq
Lyyaoo.1 小时前
Redis实现分布式锁
数据库·redis·分布式
杨云龙UP2 小时前
Windows Server 2012 环境下 Oracle 11.2 使用 expdp 实现自动备份、异地复制与定期清理_20260504
服务器·数据库·windows·mysql·docker·oracle·容器
小风吹啊吹~2 小时前
vscode的tunnel链接(Linux 服务器 + Windows 本地电脑版本)
服务器·vscode·microsoft·远程工作
Yupureki2 小时前
《Linux网络编程》4.应用层HTTP协议
linux·服务器·c语言·网络·c++·http
小则又沐风a2 小时前
list模拟实现
java·服务器·list