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

相关推荐
默|笙3 分钟前
【Linux】进程信号(2)_信号捕捉_中断
linux·运维·服务器
一只大袋鼠7 分钟前
高并发系统架构优化(下):突破带宽瓶颈,迈向分布式集群
分布式·系统架构
路小雨~7 分钟前
RabbitMQ 全面学习资料
分布式·学习·rabbitmq
图灵机z8 分钟前
【操作系统】四、进程管理
linux·服务器·网络·windows·macos·centos·risc-v
桌面运维家13 分钟前
服务器安全:异常流量监控与DDoS溯源指南
服务器·安全·ddos
heimeiyingwang21 分钟前
【架构实战】分布式事务解决方案
分布式·架构
云飞云共享云桌面24 分钟前
东莞智能装备工厂10个solidworks共享一台服务器做装配体设计
运维·服务器·网络·云计算·电脑
xuxie9928 分钟前
N12 arm-clk时钟
运维·服务器·网络
2401_8401922736 分钟前
监控的作用
分布式·kubernetes
hf20001240 分钟前
零成本迁移,原地加速,成本降低60%:火花思维基于云器Lakehouse升级实践
大数据·分布式·spark·lakehouse