Oleg, You can change the default value of 2000 by adding the broker.asyncQueueDepth parameter to your vm transport definition. In your case, you would need to include the definition of the vm transport as part of your activemq configuration file. Take a look at the following web page.
http://activemq.apache.org/vm-transport-reference.html The real question here is why are you exhausting the queue size? Increasing the limit might solve this issue in the short term but in the long term you need to understand why you are exhausting you queue limit. --Claudio >________________________________ > From: Oleg Dulin <oleg.du...@gmail.com> >To: users@activemq.apache.org >Sent: Tuesday, September 11, 2012 2:35 PM >Subject: Re: 5.5.1 ActiveMQ freezes, why ? > >This seems to be related to the 2000 limit on the linkedblockingqueue inside >of VMTransport… > >Where is this configured ? > > > >On 2012-09-11 18:23:56 +0000, Oleg Dulin said: > >> Here is the stack trace: >> >> One thread: >> >> Name: LS:IndexItemQueue:2 >> State: BLOCKED on java.lang.Object@699b7e6 owned by: LS:IndexItemQueue:8 >> Total blocked: 42,886 Total waited: 27,663 >> >> Stack trace: >> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1698) >> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231) >> >> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241) >> >> >> The other thread: >> >> ame: LS:IndexItemQueue:8 >> State: WAITING on >> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@55f8606c >> >> Total blocked: 32,969 Total waited: 20,914 >> >> Stack trace: >> sun.misc.Unsafe.park(Native Method) >> java.util.concurrent.locks.LockSupport.park(LockSupport.java:156) >> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) >> >> java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:306) >> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:94) >> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40) >> - locked java.lang.Object@6e0f1ea9 >> org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) >> >> org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1265) >> >> >> >> Here is my config: >> >> <broker xmlns="http://activemq.apache.org/schema/core" >> brokerName="localhost" dataDirectory="./activemq-data" >> destroyApplicationContextOnStop="true" persistent="true" >>useJmx="true"> >> ... >> <destinationPolicy> >> <policyMap> >> <policyEntries> >> <policyEntry topic=">" >>producerFlowControl="false" >> memoryLimit="512mb"> >> <!-- pendingSubscriberPolicy> >> <fileCursor /> >> </pendingSubscriberPolicy --> >> </policyEntry> >> <policyEntry queue=">" >>producerFlowControl="false" >> memoryLimit="512mb"> >> <!-- Use VM cursor for >>better latency For more information, see: >>http://activemq.apache.org/message-cursors.html --> >> <!-- pendingQueuePolicy> >> <fileQueueCursor /> >> </pendingQueuePolicy --> >> </policyEntry> >> </policyEntries> >> </policyMap> >> </destinationPolicy> >> … >> <networkConnectors> >> <networkConnector name="connector2.2" >> uri="static:(tcp://.……:3000)" /> >> </networkConnectors> >> >> >> <persistenceAdapter> >> <kahaDB >>directory="${activemq.base}/activemq-data/kahadb" /> >> </persistenceAdapter> >> >> >> Any ideas ? > > >-- Regards, >Oleg Dulin >NYC Java Big Data Engineer >http://www.olegdulin.com/ > > > > >