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

相关推荐
秋天的怀念_David3 小时前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法
余槐i5 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
nice_lcj5209 小时前
【从零理解 Spring AI · 03】Spring AI 在 Spring 生态里的位置
java·spring boot·大模型·spring ai·ai应用开发
AI源码1 天前
旅游推荐管理系统
spring boot
aiks_yuan1 天前
Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)
spring boot
一条泥憨鱼1 天前
【消息队列】ACK确认了什么:消息队列可靠投递的完整链路
java·后端·kafka·消息队列·rabbitmq
Thomas.Sir1 天前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot
VimorphTech1 天前
每批开 4 个线程,为什么限制不住 TTS 的总并发?
java·spring boot·spring
杨凯凡1 天前
Spring Boot 缓存一致性怎么保证?@Cacheable、@CacheEvict 与事务提交时机实战
java·spring boot·spring cache·后端开发·缓存一致性
软件技术NINI1 天前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设