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.