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

相关推荐
q567315231 小时前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
知之则吱吱1 小时前
亚马逊AWS云服务器高效使用指南:最大限度降低成本的实战策略
服务器·云计算·aws
不爱学英文的码字机器1 小时前
数据网格的革命:从集中式到分布式的数据管理新范式
分布式
cui_win1 小时前
每日一令:Linux 极简通关指南 - 汇总
linux·运维·服务器
知星小度S2 小时前
Linux权限探秘:驾驭权限模型,筑牢系统安全
linux·运维·服务器
Kaede64 小时前
如何应对Linux云服务器磁盘空间不足的情况
linux·运维·服务器
优秀的颜5 小时前
计算机基础知识(第五篇)
java·开发语言·分布式
Zfox_7 小时前
Redis:Hash数据类型
服务器·数据库·redis·缓存·微服务·哈希算法
ABB自动化11 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
努力学习的小廉11 小时前
深入了解linux系统—— 进程池
linux·运维·服务器