Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user 'guest', class-id=10, method-id=40)
at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) ~[amqp-client-4.0.2.jar:4.0.2
]
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:32) ~[amqp-client-4.0.2.jar:4.0.2]
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:366) ~[amqp-client-4.0.2.jar:4.0.2]
at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:229) ~[amqp-client-4.0.2.jar:4.0.2]
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:117) ~[amqp-client-4.0.2.jar:4.0.2]
... 13 common frames omitted
这种问题用户没有权限需要 添加权限
添加权限有两种
- 在dos命令中设置
rabbitmqctl set_permissions -p / guest '.* ' ' .* ' '.*'
显示Setting permissions for user "guest" in vhost "/" 表明设置权限成功
2.在后台控制台收入
输入前需要添加rabbit的插件
后台管理开启方法
rabbitmq-plugins enable rabbitmq_management
重启rabbitmq服务生效
打开http://localhost:15672/即可看到管理后台
用户名密码均为guest
输入http://127.0.0.1:15672进入后台
![](https://img.haomeiwen.com/i3342171/33bf7815fe0288a1.png)
找到你自己的用户
点击名字
![](https://img.haomeiwen.com/i3342171/c7d86375f07e729b.png)
![](https://img.haomeiwen.com/i3342171/10601f2dd73ae43a.png)
输入框中内容如图所示即可。
ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'order-delay-queue' in vhost '/': received 'false' but current is 'true', class-id=50, method-id=10)
表示你order-delay-queue队列,已经创建运行,但是你告诉rabbit的是它没有创建。原因在于‘
![](https://img.haomeiwen.com/i3342171/fd398f82425ce869.png)
需要将此队列删除并且对应代码为
![](https://img.haomeiwen.com/i3342171/9c6d4a6d3654584e.png)
代码rabbit官方文档中有
延时队列报错
ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=503, reply-text=COMMAND_INVALID - unknown exchange type 'x-delayed-message', class-id=40, method-id=10)
代表没有找到对应x-delayed-message的exchange type
rabbit官方github地址
![](https://img.haomeiwen.com/i3342171/34a5655395f79888.png)
说明你要是用延时队列需要启用插件
首先在dos命令中输入文档中的命令显示error(错误信息为没有发现对应插件)则需要到rabbit官网下载插件
插件地址
找到这个插件
![](https://img.haomeiwen.com/i3342171/0d86ee31cedabd20.png)
下载下来冰晶插件复制到rabbit-service的插件目录(自己的安装目录)中
![](https://img.haomeiwen.com/i3342171/fdaa6ecd3b00b828.png)
并且在dos命令中再次运行
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
就可以了
网友评论