我是兔子的新手,需要帮助在队列中设置默认的最大消息。想法是一个发布者发送消息。所有订阅者都收到所有消息。我通过为订阅者创建不同的队列来做到这一点......没问题。但是,当发布者发送消息并且订阅者离线时,消息存储在队列中,在订阅者返回后,他接收所有存储的消息。所以如果现在无法传递消息,我希望所有队列都不存储消息。
我使用windows版本的rabbitmq 3.7.2
尝试使用像rabbitmqctl.bat set_policy my-pol“”“{”“max-length”“:1,”“overflow”“:”“reject-publish”“}” - apply-to queues 没有足够的params错误
答案 0 :(得分:0)
你有两种方法可以做到这一点,它们的组合对你也有用:
将队列属性durable设置为false
,将auto-delete设置为true
。这样,一旦客户端断开连接,队列就会自动删除。
如您所述,设置max-length
政策:
rabbitmqctl set_policy my-pol ".*" '{"max-length":1,"overflow":"reject-publish"}' --apply-to queues
这里的第二个参数是regex
,它应该与队列匹配,所以我猜这就是RMQ抱怨失踪的原因。