Hi Jason Thanks for the feedback. I have updated the release note for 1.4 with your suggestions about the ProducerTemplate.
Med venlig hilsen Claus Ibsen ...................................... Silverbullet Skovsgårdsvænget 21 8362 Hørning Tlf. +45 2962 7576 Web: www.silverbullet.dk -----Original Message----- From: jayson.minard [mailto:[EMAIL PROTECTED] Sent: 18. september 2008 19:24 To: [email protected] Subject: [SPAM] Re: ProducerTemplate and ActiveMQ component seems to leak threads Thanks James! (We are on ActiveMQ 5.1.0 and Camel 1.4 by the way) There is guidance in the 1.4 release notes "From Camel 1.4.0 on the ProducerTemplate must be retrieved from the CamelContext. You can then use it the same way as before." which could lead people down the wrong path and not much pointing to the stop method, although the fact it is there should draw attention. So we'll now allocate a DefaultProducerTemplate passing in the context within Spring instead and keep that instance around. Thanks for the help! -- Jayson James.Strachan wrote: > > 2008/9/17 jayson.minard <[EMAIL PROTECTED]>: >> >> With a route such as: >> >> >> from("activemq:queue:test.input").process(new >> TestProcessor("activemq:queue:test.output")); >> >> >> And in the TestProcessor class, if we do something like: >> >> >> // outEndPoint is derived from the constructor parameter and is >> "activemq:queue:test.output.something" >> Message msg = exchange.getIn(); >> ProducerTemplate producer = >> exchange.getContext().createProducerTemplate(); >> producer.sendBodyAndHeaders(outEndPoint, msg.getBody(), >> msg.getHeaders()); >> >> >> It leaks threads and holds open ActiveMQ sessions endlessly. > > You are not meant to create a ProducerTemplate for each message > invocation; you are meant to create a single instance on startup and > keep it around. Also when you have finished using the > ProducerTemplate you should call the stop() method to close down all > the resources it has been using. > > Its better to either explicitly create one on startup or get your IoC > container (Spring/Guice) to inject it into your Processor > > -- > James > ------- > http://macstrac.blogspot.com/ > > Open Source Integration > http://open.iona.com > > -- View this message in context: http://www.nabble.com/ProducerTemplate-and-ActiveMQ-component-seems-to-leak-threads-tp19536417s22882p19557800.html Sent from the Camel - Users mailing list archive at Nabble.com.
