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

最后一个最容易被忽略

出现这种清空有很多种可能,逐个排除。
一、rabbitmq没安装成功,这个没什么好说的,重装
《重装rabbitmq参考链接》
二、服务器防火墙端口未开放5672和15672
开放5672端口

firewall-cmd --zone=public --add-port=5672/tcp --permanent

开放15672 web管理页面端口

firewall-cmd --zone=public --add-port=15672/tcp --permanent

重启防火墙

firewall-cmd --reload

三、springboot错误链接rabbitmq端口15672(正确端口是5672)
springboot rabbitmq Failed to check/redeclare auto-delete queue(s)._第1张图片
四、使用guest默认账号远程访问。guest只能localhost或者127.0.01及本机ip访问。应创建一个新的账号供外部访问,授权admin超级管理员权限。

添加用户add_user 用户名 密码

rabbitmqctl add_user admin admin

添加用户角色set_user_tags 用户名 角色名

rabbitmqctl set_user_tags admin administrator

添加用户权限 set_permissions -p “vhost” 用户名 权限

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

查看当前用户和角色

rabbitmqctl list_users

五、使用的账号没有权限访问。使用上一步进行对使用的账号授权。

rabbitmqctl set_permissions -p "/" 使用的账号 ".*" ".*" ".*"

六、springboot设置的virtual-host与rabbitmq设置的virtual hosts不一致
springboot rabbitmq Failed to check/redeclare auto-delete queue(s)._第2张图片
七、rabbitmq需要使用的插件未安装,代码里面配置了未安装插件参数。(我就是这个,TMD!!)
如:未安装rabbitmq_delayed_message_exchange基于延迟队列的插件,却在代码里面配置了插件参数代码
在这里插入图片描述
rabbitmq管理界面没有该插件参数。
springboot rabbitmq Failed to check/redeclare auto-delete queue(s)._第3张图片
如果安装了插件,rabbitmq管理界面会有显示。
springboot rabbitmq Failed to check/redeclare auto-delete queue(s)._第4张图片
《rabbitmq可用插件说明及下载》
安装基于延迟队列的rabbitmq_delayed_message_exchange插件

延时队列插件安装(必须把插件放到rabbitmq_server的plugins目录下。如:/usr/local/rabbitmq_server-3.9.16/plugins)

#不要带版本号
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

停止rabbitmq

rabbitmqctl stop

后台启动rabbitmq

rabbitmq-server -detached

springboot rabbitmq Failed to check/redeclare auto-delete queue(s)._第5张图片

你可能感兴趣的:(rabbitmq,spring,boot,spring,boot,rabbitmq)