软件系统开发定制springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).

问题

springboot项目使用spring-boot-starter-amqp软件系统开发定制连接时出现报错:

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

思路

软件系统开发定制这类问题是因为没有连接上rabbitmq导致的,软件系统开发定制一般可以的原因有如下几种:

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

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

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

    点击对应的用户名,进入权限设置页面

如图所示,我们给予其配置、读、写的权限,并将其赋予管理员角色

配置之后再看用户权限就发生了变化了

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

最终解决

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

这也提醒我们,配置的时候一定要细心,否则会出现很多非常不好排查的错误

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发