springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).

这篇具有很好参考价值的文章主要介绍了springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

springboot项目使用spring-boot-starter-amqp连接rabbitmq时出现报错:

Failed to check/redeclare auto-delete queue(s).

思路

这类问题是因为没有连接上rabbitmq导致的,一般可以的原因有如下几种:

  • 1、springboot中的配置文件配置的不对,这其中又分为:
    (1)配置项格式出错,比如yml格式常见的配置项错位
    (2)rabbitmq地址错误
    (3)端口错误

这里给出一个最基本的配置项作为参考

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
    virtual-host: /
  • 2、rabbitmq所在服务器或虚拟机中的对应端口没有打开,比如默认的5672端口没有开放,如果是外网地址的,还要打开内外网端口映射。这一点可以通过telnet指令检查
telnet 192.168.1.1 5672
  • 3、rabbitmq地址有误,或者rabbitmq所在服务器的网络存在问题,无法连接,这点可以通过ping来测试
ping 192.168.1.1
  • 4、配置的账号没有开通对应权限
    进入rabbitmq管理页面的用户页面后可以看到对应的账户是否有开通权限,如图所示即没有开通权限
    springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).
    点击对应的用户名,进入权限设置页面

如图所示,我们给予其配置、读、写的权限,并将其赋予管理员角色
springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).
配置之后再看用户权限就发生了变化了
springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).

  • 5、virtual-host配置的有误,springboot中配置的virtual-host与rabbitmq中的virtual-host没有对应上,需要注意的是如果在rabbitmq中配置的virtual-host叫xxx的话,那么springboot中的也一定是xxx,而不需要再之前加上/

最终解决

错误基本也就是这几种,因为我是docker安装的rabbitmq,最后仔细筛查后发现,原来不小心把创建容器时的映射端口号设置成了5673,而配置文件中写的又是5672,导致一直连接不上。

这也提醒我们,配置的时候一定要细心,否则会出现很多非常不好排查的错误文章来源地址https://www.toymoban.com/news/detail-400881.html

到了这里,关于springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包