camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Schneider <ch...@die-schneider.net>
Subject Re: How to improve Camel MQ performance
Date Sun, 09 Jan 2011 22:30:29 GMT
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: damian.harvey@aon.com.au<mailto:damian.harvey@aon.com.au>
>
> Please consider the environment before printing this email.
> From: Christian Schneider [via Camel] [mailto:ml-node+3334238-1494567908-144200@n5.nabble.com]
> 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
> 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.
>

-- 
----
http://www.liquid-reality.de


Mime
View raw message