一些遇到的错误,小总结

问题描述

Failed to declare queue(s):[XXX]
在SpringBoot中使用RabbitMQ时,遇到了如题目所示的错误
即,队列创建失败。

方案总结

首先,在RabbitMQ的管理页面中,检查看看有没有要用的队列。
如果有要用的
看看名字是否对的上,就 提示创建失败的队列和要用的队列,是不是一个队列。
比如,要用的是a队列,管理页面也有a,但提示是b队列创建失败。就是说,可能某个地方的队列名写错了,写的不是要用的队列名字a,而是提示创建失败的队列的b。
举个例子,消费者的监听器@RabbitListener(queues = RabbitConfig.xxx)这个地方,就可以检查一下,要监听 队列的名字 是不是写错了。

是小错误,但遇到就很烦。

如果没有要用的队列
3. 队列创建代码上,是不是没有@Bean
4. 检查一下配置文件的端口,是15672还是5672
前者是控制台的访问端口,后者是应用访问的端口
5. 要不就尝试在控制台手动创建或者使用RabbitAdmin代码创建?

问题描述

the value ‘0’ of type ‘signedint’ but current is none
就,这里有个值,它的类型是啥啥,但是本来是没有这个值的。

方案

这个问题,其实是因为,这个队列已经创建好了,但是之后又想给这个队列配置一些参数,比如x-message-ttl,导致的。
所以,就直接创建一个新的队列吧。
即试试修改创建队列的方法名、队列的名字。

Logo

鸿蒙生态一站式服务平台。

更多推荐