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

相关推荐
Lightning-py15 小时前
SSH远程连接服务器耗时>10s
linux·服务器·网络
飞Link15 小时前
Linux下的Docker安装教程
linux·运维·服务器·docker·容器
北慕阳15 小时前
背诵-----------------------------
java·服务器·前端
Risk Actuary15 小时前
磁道优化分布的一道题
linux·运维·服务器
ClouGence15 小时前
从 0 到 1 构建 TDSQL MySQL 实时同步链路
数据库·分布式·sql·mysql
哈哈哈笑什么15 小时前
完整Redis分布式锁技术方案(基于Redisson)
redis·分布式·spring cloud
weixin_4624462315 小时前
【实践操作】linux记录terminal终端日志 录屏
linux·运维·服务器
水天需01016 小时前
Linux 命令行换行完全指南
linux·运维·服务器
ZStack开发者社区16 小时前
VMware替代 | 解析ZStack Cloud替代VCF基础架构底座路径
服务器·云计算
回忆是昨天里的海16 小时前
docker存储-卷映射
运维·服务器·docker