尝试使用 RabbitMQ 中的 AMQP 1.0 插件使用现有队列时,出现错误:“ACCESS_REFUSED - 配置对用户队列‘xxx’的访问被拒绝”。
用户具有只读权限。换句话说,配置和写入正则表达式设置为“^$”。
队列已经存在 - 只是尝试使用它。 连接时发生错误: 附加(名称:我的接收器,句柄:0,角色:True,源:源(地址:myqueue,持久:1),目标:目标())
如果我添加configure权限就可以了,但是为什么需要configure权限呢? 这就像它试图声明队列,但我希望它最多做一个被动声明。
有什么建议吗?
感谢 RabbitMQ Discord 聊天中的“thorhalvor”找到了解决方案。 事实证明,如果您在队列地址前添加
/amq/queue/
,则不会触发 declare
,并且不需要配置权限。
“kjnilsson”提到这可能在 RabbitMQ 4.0 中得到改进 - 最有可能删除隐式队列声明并简化寻址。
文档已更新,澄清了这种不同的行为。 (请参阅https://github.com/rabbitmq/rabbitmq-server/tree/main/deps/rabbitmq_amqp1_0#routing-and-addressing)。
Discord 帖子和主题的链接: