首页 > 解决方案 > RabbitMq:禁止消费者创建队列

问题描述

在成功连接到某个交换/主题后,我们的 java spring boot 应用程序正在创建/声明队列(如果它们不存在)。

如果队列不存在,是否可以(从 rabbitmq 管理面板)禁止某些用户(在这种情况下是这个 Spring Boot 应用程序使用的用户)创建/声明队列?

谢谢!

标签: spring-bootrabbitmq

解决方案


您可以配置 Spring-Boot 应用程序用于连接代理的用户的权限。

这是通过提供 3 个正则表达式(配置、写入、读取)来实现的,如果您让第一个为空("^$"),用户将无法删除完整文档中提到的任何队列

您还可以通过将以下属性添加到应用程序配置文件来禁用 RabbitAdmin bean spring.rabbitmq.dynamic=false,因此 Spring 不会尝试声明任何内容。


推荐阅读