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

相关推荐
wangxiaojie668817 分钟前
一键自动认证校园网,告别手动配置
服务器
张宇Joaquin34 分钟前
基于鲲鹏服务器的金仓数据库调优参考实践
服务器
国际云,接待39 分钟前
华为云 ELB 如何配出真正高可用:跨可用区 ECS、健康检查和灰度摘流实战
服务器
牢姐与蒯1 小时前
Linux文件(三).Ext系列文件系统
linux·运维·服务器
懂软件的胡子个哥1 小时前
微信工单系统如何基于 WechatApi 做消息分流和状态流转
运维·分布式·微信·架构·企业微信
java_nnnn1 小时前
面试题(网络部分前传)-13问
服务器·网络·网络协议·tcp/ip·面试
码少女2 小时前
Linux--套接字编程
linux·服务器·网络
进击的荆棘2 小时前
Linux系统——进程控制(下)
linux·运维·服务器·进程
一个有温度的技术博主11 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
Winner_hwx12 小时前
华为ICT大赛备赛复习1
服务器·网络·华为