I will enable the cache setting and test it. Just want to add an update that the 80 consumer threads seems to be waiting on these two below points most of the time.
Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:341) org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40) org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87) org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1262) org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:666) org.apache.activemq.TransactionContext.commit(TransactionContext.java:299) org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:558) org.apache.activemq.pool.PooledSession.commit(PooledSession.java:133) org.springframework.jms.connection.JmsTransactionManager.doCommit(JmsTransactionManager.java:236) org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732) org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701) org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255) org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982) org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974) org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876) java.lang.Thread.run(Thread.java:637) Or at this point - Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:341) org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40) org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87) org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1262) org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:666) org.apache.activemq.TransactionContext.commit(TransactionContext.java:299) org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:558) org.apache.activemq.pool.PooledSession.commit(PooledSession.java:133) org.springframework.jms.support.JmsUtils.commitIfNecessary(JmsUtils.java:217) org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:558) org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:465) org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323) org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:241) org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982) org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974) org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876) java.lang.Thread.run(Thread.java:637) -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Transaction-performance-use-of-batches-tp4720389p4720625.html Sent from the Camel - Users mailing list archive at Nabble.com.