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

相关推荐
橘子海全栈攻城狮40 分钟前
【最新源码】养老院系统管理A013
java·spring boot·后端·web安全·微信小程序
敖正炀43 分钟前
反模式与排查宝典:Spring Boot 自动配置与核心机制的常见陷阱
spring boot
直奔標竿1 小时前
Java开发者AI转型第二十六课!Spring AI 个人知识库实战(五)——联网搜索增强实战
java·开发语言·人工智能·spring boot·后端·spring
吴爃3 小时前
Spring Boot 项目在 K8S 中的打包、部署与运维发布实践
运维·spring boot·kubernetes
a8a3023 小时前
Laravel8.x新特性全解析
java·spring boot·后端
白露与泡影3 小时前
Spring Boot 完整流程
java·spring boot·后端
小鲁蛋儿4 小时前
Dynamic + ShardingSphere整合
spring boot·shardingsphere·dynamic
北风toto4 小时前
Spring Boot / Spring Cloud 配置文件加密详解:使用 jasypt-spring-boot 实现 ENC() 加密
spring boot·后端·spring cloud
工作log5 小时前
Spring Boot 3.5 + MyBatis Plus + RabbitMQ:打造 AI 驱动的慢 SQL 监控与优化系统
spring boot·mybatis·java-rabbitmq