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

相关推荐
BD_Marathon6 小时前
spark.sql报错
大数据·分布式·spark
星释7 小时前
鸿蒙智能体开发实战:23.常见问题
服务器·华为·ai·harmonyos·鸿蒙·智能体
小张成长计划..8 小时前
【Linux】10:冯·诺依曼体系结构和操作系统
linux·运维·服务器
m0_5648768412 小时前
没有公网IP的情况下,怎么进行远程连接两个电脑
服务器·tcp/ip·负载均衡
兔C12 小时前
Linux 命令行入门学习资料 day_2
linux·运维·服务器
多巴胺梦想家13 小时前
事务与并发控制:当多人同时操作数据库
服务器·数据库·oracle
长不胖的路人甲15 小时前
RabbitMQ 死信队列 DLQ
分布式·rabbitmq
可乐ea15 小时前
【Redis八股|第8篇】Redis 分布式锁原理与 Redisson 使用
数据库·redis·分布式·面试题·redis八股
琢森15 小时前
不用装Agent,SSH直连搞定服务器监控
服务器
snow@li15 小时前
深入理解内核与操作系统的关系
运维·服务器·microsoft