com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - vhost /vh_mnr not found, class-id=10, method-id=40)
时间: 2024-04-13 20:25:10 浏览: 146
这个异常(`ShutdownSignalException`)表示连接到RabbitMQ服务器时出现了错误。根据异常信息,显示了以下错误消息:
```
NOT_ALLOWED - vhost /vh_mnr not found
```
这意味着RabbitMQ服务器上不存在名为 `/vh_mnr` 的虚拟主机。虚拟主机是RabbitMQ中的一个概念,用于逻辑上隔离不同的应用程序或服务。
要解决此问题,你可以执行以下步骤:
1. 确保你提供的虚拟主机名称是正确的。检查代码中的连接工厂配置,确保虚拟主机名称正确。
2. 检查RabbitMQ服务器上是否存在相应的虚拟主机。你可以使用RabbitMQ管理界面或命令行工具来验证虚拟主机的存在。
- 管理界面:在浏览器中打开RabbitMQ管理界面(通常是 `http://localhost:15672`),登录并导航到 "Admin" 部分。在 "Virtual Hosts" 页面上,确认是否存在 `/vh_mnr` 虚拟主机。
- 命令行工具:使用命令行工具 `rabbitmqctl` 来列出虚拟主机。运行以下命令检查是否存在 `/vh_mnr` 虚拟主机:
```
rabbitmqctl list_vhosts
```
3. 如果虚拟主机不存在,你可以通过以下两种方式解决:
- 创建虚拟主机:在RabbitMQ管理界面上创建一个新的虚拟主机,或使用命令行工具 `rabbitmqctl` 创建虚拟主机。
- 更改代码中的虚拟主机名称:如果你希望连接到现有的虚拟主机,确保代码中提供的虚拟主机名称正确。
请根据你的实际情况检查并调整虚拟主机的配置,以解决这个问题。
阅读全文