activemq消费者似乎“总是缓存”?

时间:2012-03-27 19:56:38

标签: java activemq

如果我使用伪代码,我注意到activemq(5.5):

connection = new ActiveMQConnectionFactory(...)
connection.start()
session = connection.createSession(transacted=true, Session.AUTO_ACKNOWLEDGE)
destination = session.createQueue(...)
consumer = session.createConsumer(destination) 

在我请求之前,消费者似乎从队列中获取了一个元素。即使我做wireFormat.cacheEnabled = false

有人知道如何防止消费者默认“抓取元素”吗?

1 个答案:

答案 0 :(得分:3)

&jms.prefetchPolicy.all=0添加到您的连接字符串中,看看是否会停止它。预取策略默认值相当大,我怀疑这是你看到的行为。

请注意,预取并不一定是坏事:http://activemq.apache.org/what-is-the-prefetch-limit-for.html