Actual the discard function doesn't work. you also can refer to this post
http://www.nabble.com/Fast-producers%2Cslow-consumer...-queue-growing-forever-td22373306.html






ashoknan wrote:
> 
> I am using ActiveMQ 5.1..wanted to know how to discard messages for the
> non-durable queue.
> Trying to deal with slow consumer problem...Wanted to avoid Broker
> reaching 100%. When ever broker reaches 100% on the memory, everything
> stops.
> 
> Will discarding will avoid broker reaching 100% on the memory.
> 
> When the broker reaches 100% this what i see in the threaddump
> 
> "Thread-4" prio=6 tid=0x3e20d400 nid=0x128c waiting on condition
> [0x3ec0f000..0x3ec0fa94]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x0b278ff8> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>       at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>       at
> java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:317)
>       at
> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
>       at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:80)
>       at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1195)
>       at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1644)
>       - locked <0x06be2688> (a java.lang.Object)
>       at
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:227)
>       at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:74)
>       - locked <0x06be1008> (a org.apache.activemq.ActiveMQMessageProducer)
>       at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:59)
>       at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:534)
>       at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:511)
>       at
> org.springframework.jms.core.JmsTemplate$2.doInJms(JmsTemplate.java:477)
>       at 
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:428)
>       at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:475)
>       at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:467)
>       at jmsexample.ExampleProducer.sendMessage(ExampleProducer.java:21)
>       at jmsexample.Bootstrap$1.run(Bootstrap.java:49)
>       at java.lang.Thread.run(Thread.java:619)
> 
> 
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/How-to-discard-messages-for-the-non-durable-queue-tp22689964p22709581.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to