ServiceMix的Karaf OSGi中的ActiveMQ:5.10.2
KahaDB持久性。
默认代理设置。 连接中的默认设置(tcp://x.x.x.x:61616)
在activemq.xml中预定义了16个队列。
与ActiveMQ的两个客户端连接。一个用于制作人会话,一个用于消费者会话。
生产者向所有队列发送消息。
16个消费者会话消费消息。
一切顺利,但是: 如果我将消费者数量减少到1(或2或3,我不知道阈值在哪里),以便来自1个队列的消息正在消耗,而来自其他队列的消息正在存储。 虽然有些时间过去了,但我看到了这张照片:
如果我启动其他消费者(或重启activemq)来使用来自不同队列的消息,我会看到:
如果我启动所有消费者,我看不到“消息冻结”。 如果只是在“冻结”队列上停止并启动消费者,则没有任何反应。需要在“解冻队列”上完成“解冻”“冻结队列”。
如果没有活跃的生产者,只有消费者,也会发生这种情况。
它有什么用?
谢谢。
答案 0 :(得分:0)
Oups。我发现它是什么。
只是可用内存超出。
我没有设置-Xms和-Xmx,所以它只运行512mb的最大堆。
当存储和未消费的消息大小被关闭到顶部时,我会得到这些行为。