Thanks Christian. That seems to have improved performance. I had to remove the JMS user/pass from the UserCredentials Factory as Spring would complain that "SingleConnectionFactory does not support custom username and password"
<bean id="jmsUserCredentialsFactoryAdapter" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"> <property name="targetConnectionFactory" ref="cachedConnectionFactory" /> <!-- <property name="username" value="${jms.username}" /> <property name="password" value="${jms.password}" /> --> </bean> Please consider the environment before printing this email. From: Christian Schneider [via Camel] [mailto:ml-node+3334250-1605032308-144...@n5.nabble.com] Sent: Monday, 10 January 2011 9:31 AM To: Damian Harvey Subject: Re: How to improve Camel MQ performance Hi Damian, you could try to wrap your connectionfactory in a spring CachingConnectionFactory : http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jms/connection/CachingConnectionFactory.html It has several settings that could speed up camel jms. Christian Am 09.01.2011 23:17, schrieb damianharvey: > > My Spring JMS configuration (note that I have commented out the transaction > handling to improve performance): > > <!-- Beans to create the MQ endpoint using JMS --> > > <bean > class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" > p:staticMethod="com.ibm.mq.MQEnvironment.addConnectionPoolToken" /> > > <bean id="mqConnectionFactory" > class="com.ibm.mq.jms.MQQueueConnectionFactory"> > <property name="hostName" value="${mq.host}" /> > <property name="port" value="${mq.port}" /> > <property name="queueManager" value="${mq.queueManager}" /> > <property name="transportType" value="1" /> > <property name="channel" value="SYSTEM.DEF.SVRCONN" /> > </bean> > > <bean id="jmsUserCredentialsFactoryAdapter" > class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"> > <property name="targetConnectionFactory" > ref="mqConnectionFactory" /> > <property name="username" value="${jms.username}" /> > <property name="password" value="${jms.password}" /> > </bean> > > <!-- bean id="jtm" > class="org.springframework.jms.connection.JmsTransactionManager102"> > <constructor-arg index="0" ref="jmsUserCredentialsFactoryAdapter" /> > <constructor-arg > index="1" value="false" /> </bean --> > > <bean id="jc" class="org.apache.camel.component.jms.JmsConfiguration"> > <constructor-arg index="0" > ref="jmsUserCredentialsFactoryAdapter" /> > </bean> > > <bean id="mq" class="org.apache.camel.component.jms.JmsComponent"> > <property name="configuration" ref="jc" /> > <property name="acknowledgementModeName" > value="AUTO_ACKNOWLEDGE" /> > <property name="transacted" value="false" /> > <!-- property name="transactionManager" ref="jtm" / --> > </bean> > > <bean id="auditRoute" > class="com.aon.camel.routes.impl.AuditRouteBuilder"> > <property name="jmsComponent" ref="mq" /> > </bean> > > <bean id="jmsRoute" > class="com.aon.camel.routes.impl.JmsRouterRouteBuilder"> > <property name="jmsComponent" ref="mq" /> > <property name="requestQueue" value="${jms.requestQueue}" /> > <property name="requestQueueOps" value="${jms.requestQueueOps}" > /> > <property name="replyQueue" value="${jms.replyQueue}" /> > </bean> > > > Damian Harvey | Aon Australia/Pacific > > Level 31, 201 Kent Street Sydney NSW 2000 > t: +61292537000 | f: +61292537952 > e: [hidden > email]</user/SendEmail.jtp?type=node&node=3334250&i=0><mailto:[hidden > email]</user/SendEmail.jtp?type=node&node=3334250&i=1>> > > Please consider the environment before printing this email. > From: Christian Schneider [via Camel] [mailto:[hidden > email]</user/SendEmail.jtp?type=node&node=3334250&i=2>] > Sent: Monday, 10 January 2011 9:14 AM > To: Damian Harvey > Subject: Re: How to improve Camel MQ performance > > Can you post your camel jms and configuration? > > Christian > > > Am 09.01.2011 22:43, schrieb damianharvey: > >> Does anyone have any tips on how to configure Camel to be more performant on >> WebSphere MQ? I haven't seen any settings to allow MQ to use connection >> pooling and I'm finding that it isn't performing well under load - I suspect >> due to the overhead of opening and closing connections (it's about twice as >> slow as the same service over HTTP). I have set the JMS consumer to have 30 >> concurrent consumers and this helped a little. >> >> I have tried adding the following line to the Spring configuration to no >> avail: >> >> <bean >> class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" >> p:staticMethod="com.ibm.mq.MQEnvironment.addConnectionPoolToken" /> >> >> Is there anything else that I can do? Is anyone using MQ with Camel in a >> high performance environment? >> >> Thanks, >> >> Damian. > -- > ---- > http://www.liquid-reality.de > > > ________________________________ > View message @ > http://camel.465427.n5.nabble.com/How-to-improve-Camel-MQ-performance-tp3334208p3334238.html<http://camel.465427.n5.nabble.com/How-to-improve-Camel-MQ-performance-tp3334208p3334238.html?by-user=t> > > > ________________________________ > > This communication (and any attachments) is directed in confidence to the > addressee(s) listed above, and may not otherwise be distributed, copied or > used. The contents of this communication may also be subject to privilege, > and all rights to that privilege are expressly claimed and not waived. If you > have received this communication in error, please notify us by reply e-mail > or by telephone and delete this communication (and any attachments) without > making a copy. > > Before opening or using attachments, you should check them for viruses and > defects. We do not accept liability in connection with computer virus, data > corruption, delay, interruption, unauthorised access or unauthorised > amendment. > -- ---- http://www.liquid-reality.de ________________________________ View message @ http://camel.465427.n5.nabble.com/How-to-improve-Camel-MQ-performance-tp3334208p3334250.html To unsubscribe from How to improve Camel MQ performance, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3334208&code=RGFtaWFuLmhhcnZleUBhb24uY29tLmF1fDMzMzQyMDh8LTIwNDE4MDIxMzg=>. ________________________________ This communication (and any attachments) is directed in confidence to the addressee(s) listed above, and may not otherwise be distributed, copied or used. The contents of this communication may also be subject to privilege, and all rights to that privilege are expressly claimed and not waived. If you have received this communication in error, please notify us by reply e-mail or by telephone and delete this communication (and any attachments) without making a copy. Before opening or using attachments, you should check them for viruses and defects. We do not accept liability in connection with computer virus, data corruption, delay, interruption, unauthorised access or unauthorised amendment. -- View this message in context: http://camel.465427.n5.nabble.com/How-to-improve-Camel-MQ-performance-tp3334208p3334279.html Sent from the Camel - Users mailing list archive at Nabble.com.