2014-09-01 56 views
0

我试图用activemq 5.10的非持久主题测试生产者流控制。我禁用了生产者流量控制,并且想要了解系统使用流量控制是否会在达到系统使用限制时启动。ActiveMQ 5.10生产者流控制与非持久性主题

但即使当持久性存储被使用100%时,也不停止发布生产者。

可能的原因是什么?

感谢

+0

另一端是否有消费者?是否有持久订阅?测试的条件是什么,没有答案是不可能的。 – 2014-09-01 14:27:30

+0

我尝试过和没有消费者。当我使用消费者时,我制作了持久订阅,然后关闭了消费者,以便其消息将与经纪人保持一致。 – learner 2014-09-02 05:45:09

+0

@TimBish你能指导我如何测试这些功能吗? – learner 2014-09-02 05:59:16

回答

0

您需要先了解主题和队列之间的difference。对于没有消费者的正常话题,不保留消息,因为发布订阅模型只关心连接的消费者,所以他们只是被抛弃。即使您将邮件发送为持久邮件,它也没有意义,因为除非有已注册的持久使用者处于脱机状态,否则主题不会持久存在邮件。

在脱机耐用消费者的情况下,只有当消息被写入磁盘而不存储在内存中时,才会有生产者流量控制,直到达到存储限制。

+0

假设我有一个持久订阅者,并且我发送了持久标志设置为false的消息(即,一个主题上没有持久持久消息)并且生产者流控制设置为false。现在,如果生产者的内存限制达到了,经纪人会停止生产者向这个主题发送消息?如果临时存储限制将达到,它会停止吗? – learner 2014-09-02 14:41:50

+0

禁止生产者流量控制,所有投注均关闭。 – 2014-09-02 14:57:29

+0

所以当系统使用完成后,即没有更多的空间来存储这些消息时,没有耐久性的概念,生产者会发送哪些消息会立即抛弃? – learner 2014-09-02 15:36:36