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