SpringBoot 整合 RabbitMQ 一直报错

java 复制代码
Failed to declare queue: yoj.queue1
2024-09-27 17:34:21.256  WARN 2668 --- [ntContainer#0-1] o.s.a.r.listener.BlockingQueueConsumer   : Queue declaration failed; retries left=3

org.springframework.amqp.rabbit.listener.BlockingQueueConsumer$DeclarationException: Failed to declare queue(s):[yoj.queue1]
	at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.attemptPassiveDeclarations(BlockingQueueConsumer.java:760) [spring-rabbit-2.4.6.jar:2.4.6]
	at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.passiveDeclarations(BlockingQueueConsumer.java:637) [spring-rabbit-2.4.6.jar:2.4.6]
	at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:624) [spring-rabbit-2.4.6.jar:2.4.6]
	at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.initialize(SimpleMessageListenerContainer.java:1376) [spring-rabbit-2.4.6.jar:2.4.6]
	at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1221) [spring-rabbit-2.4.6.jar:2.4.6]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.io.IOException: null

分析问题:

现在情况,使用了spring-stater-amqp。添加了依赖,使用RabbitListenner编写消费者。启动项目就报错。
Failed to declare queue: yoj.queue1

其中一直提到了定义队列 yoj.queue1失败

所以,应该查看队列是否存在,查看以后,发现确实不存在。

创建队列以后,重启项目,成功运行。

总结:

RabbitMQ显然需要创建队列或者创建队列、交换机、绑定关系以后才能使用,我直接定义了这个队列的监听对象,和调用逻辑而没有编写队列定义或其他定义,显然,队列不存在,所以报错。

相关推荐
逆回3 小时前
升级 Boot 4 后,我的 mock 全红了
spring boot
学长毕设6 小时前
基于SpringBoot的野生动物公益保护平台设计与实现-附源码
java·spring boot·后端
她的男孩7 小时前
三人会签只批了一个就往下走:Forge Admin 把 all / any / ratio 写成 completionCondition
spring boot·低代码·工作流引擎
vipxieliang8 小时前
ValidX vs 手写验证代码:开发效率对比实测
java·spring boot·后端
vipxieliang9 小时前
虚拟线程与 GraalVM:Spring Boot 3.x 云原生性能跃迁
java·spring boot·后端
头发还在的女程序员10 小时前
基于 Spring Boot + Vue 3 + uni-app 的灵活用工系统:四端架构与业务流程设计
vue.js·spring boot·uni-app·灵活用工·灵工系统
CoderYanger15 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
计算机毕设定制辅导-无忧学长1 天前
《基于微信小程序的居家医疗陪护预约系统设计与实现》
java·spring boot·微信小程序·uniapp·居家医疗陪护预约系统
小郎君6581 天前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·spring cloud
jktantan1 天前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构