首页 > 解决方案 > 通过 Web 控制台设置时,Rabbitmq x-overflow reject-publish 不起作用

问题描述

我正在尝试在 Rabbitmq 中设置特定队列的溢出行为以拒绝超过最大限制的消息。我正在使用 Web 控制台添加一个新队列并设置 x-max-length。然后我手动添加了 x-overflow 并赋予它拒绝发布的值。但似乎默认的溢出行为是正在应用的行为,其中旧消息被删除,新消息被排队。

我定义溢出行为的方式是错误的吗?有人可以指出我应该如何通过网络控制台设置溢出行为吗?

标签: rabbitmq

解决方案


它不能通过 web gui 工作,只能通过 cli 工作。例子:

rabbitmqctl set_policy limit-1gb ".*" '{"max-length-bytes":1000000000,"overflow":"reject-publish"}' --apply-to queues
rabbitmqctl set_policy limit-1m ".*" '{"max-length":1000000,"overflow":"reject-publish"}' --apply-to queues

推荐阅读