Done :) http://cwiki.apache.org/CAMEL/why-does-camel-use-too-many-threads-with-producertemplate.html
2008/9/18 James Strachan <[EMAIL PROTECTED]>: > 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 > -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://open.iona.com