Hi James- ActiveMQ 5.5.1 is quite aged at this point. Any reason you aren’t looking at a newer version?
Transactions and connection pooling is tricky— are you doing XA or JMS Local? I suggest trying to get it all working, then tune.. CACHE_NONE first. -Matt On Sep 2, 2014, at 7:05 AM, James Black <be_st...@yahoo.co.uk> wrote: > Hi, > > I have a problem that when using transactions all my consumers for a > particular queue are getting blocking waiting for the commit. We are using > the Spring DMLC and are caching at the consumer level. This is ActiveMQ > 5.5.1 > > All threads end up at a WAITING state with the same stack trace as below: > > "service--51" - Thread t@96 > java.lang.Thread.State: WAITING > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <12021c84> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) > at > java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:374) > at > org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40) > at > org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87) > at > org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1284) > at > org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:707) > at > org.apache.activemq.TransactionContext.commit(TransactionContext.java:299) > at org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:560) > at > org.springframework.jms.support.JmsUtils.commitIfNecessary(JmsUtils.java:217) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:577) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:482) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1103) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1095) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:992) > at java.lang.Thread.run(Thread.java:724) > Locked ownable synchronizers: > - None > > I know that the transaction speed is limited by the disk performance but we > do not see the disk IO jump beyond what we would expect it can handle. > > Anyone got any ideas? > > Thanks, > > Justin > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Consumer-performance-problem-with-Tx-tp4685226.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com.