Cool.. Can you try using pooled jms connections? It may be possible that due to initialization of new connection each time for each message, internally thread size may be limited to have optimized thread context switching.
Following few code snipped might help you. We have used this in our project and observed increase in throughput. Not sure if IBM product supports connection pools. Check the IBM driver classes. We were using Jboss ActiveMQ as broker. <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="${brokerURL}" /> <property name="userName" value="${brokerUserName}" /> <property name="password" value="${brokerPassword}" /> </bean> <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop"> <property name="maxConnections" value="8" /> <property name="connectionFactory" ref="jmsConnectionFactory" /> <property name="idleTimeout" value="0" /> </bean> <bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration"> <property name="connectionFactory" ref="pooledConnectionFactory" /> <property name="concurrentConsumers" value="10" /> </bean> <bean id="AMQbrokerConnector" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="configuration" ref="jmsConfig" /> </bean> ----- Reji Mathews Sr. Developer - Middleware Integration / SOA ( Open Source - Apache Camel & Jboss Fuse ESB | Mule ESB ) LinkedIn - http://in.linkedin.com/pub/reji-mathews/31/9a2/40a Twitter - reji_mathews -- View this message in context: http://camel.465427.n5.nabble.com/JMS-MQ-performance-improvement-tp5767963p5767973.html Sent from the Camel - Users mailing list archive at Nabble.com.