为什么主题消息不会出列?

时间:2013-09-06 09:27:49

标签: java activemq

我想问一个关于activemq主题的问题。

我输入了activemq的管理页面,发现排队的邮件永远不会出现在主题中,即使消费者写得正确也是如此。这意味着所有发布的消息将永久保存在ActiveMQ中。

这些消息是否会导致内存泄漏?是否有解决方案可以使消费的消息出列?

enter image description here

2 个答案:

答案 0 :(得分:3)

我认为您可能需要以正确的方式配置会话。 connection.createSession(Boolean.FALSE,Session.AUTO_ACKNOWLEDGE) 如果您使用事务或Session.CLIENT_ACKNOWLEDGE

,ActiveMQ将仅将您的代码标记为Dequeued。

答案 1 :(得分:0)

ActiveMQ支持咨询消息,允许您使用常规JMS消息来观察系统。目前我们有咨询消息支持: 消费者,生产者和关系的启动和停止 临时目的地被创建和销毁 消息在主题和队列上过期 经纪人向没有消费者的目的地发送消息。 连接开始和停止

咨询消息可以被视为某种管理渠道,您可以在其中获得有关JMS提供商的信息以及生产者,消费者和目的地的信息。当您通过JMX查看经纪人时,您将看到以 ActiveMQ.Advisory为前缀的咨询主题..

详细说明:http://activemq.apache.org/advisory-message.html