Hi Claus, Thanks for your quick response.
I using WebSphere MQ queues and a SQL Server 2005 database table as my endpoints. I have made a code change this morning to cache the endpoints once they have been created from the CamelContext using: Endpoint endpoint = camelContext.getEndpoint(uri) This along with a few other changes has improved the performance of the routing from 4msgs/s to about 8msgs/sec but this is still well down on the 23msgs/s I get with the pure Java DSL version. Please note that I am using the WebSphere transaction manager to provide XA transaction coordination in all my routes. My Camel route that uses the ProducerTemplate is given below: from("webspheremqxa:queue:input_queue"). transacted(). to("myParsingEngine"). to("myClient"). end(); Where myParsingEngine processor loads the message in memory and myClient processor manipulates the emssage and writes it to a WebSphere MQ queue and a SQLServer table using the ProducerTemplate. My pure Java DSL route is given below: from("webspheremqxa:queue:input_queue3"). transacted(). to("myParsingEngine"). multicast(). pipeline(). // Route to the JDBC endpoint choice(). when().method("myRoutingConditions","matches"). to("bean:myTransformEngine?method=doMappingOnly"). to("bean:mySelector?method=toSqlServerSql"). to("jdbc:mssql-2005-xa-ds"). //when(). //otherwise(). end(). end(). pipeline(). // Route to the JMS endpoint choice(). when().method("myRoutingConditions","matches"). to("bean:myTransformEngine?method=doMappingOnly"). to("bean:myFormattingEngine?method=serialiseOnly"). to("webspheremqxa:queue:swift_output_queue2"). //when(). //otherwise(). end(). end(). end(); Any further guidance would be greatly appreciated. Regards, Nick -- View this message in context: http://camel.465427.n5.nabble.com/Performance-loss-observed-when-using-the-ProducerTemplate-to-send-an-exchange-to-an-endpoint-tp510843p510886.html Sent from the Camel - Users mailing list archive at Nabble.com.