Hi There, I've been banging my head against an issue for a while now. I have a JCA that picks messages up from a tcp socket, puts them onto a queue and then a consumer within the same JCA consumes them based upon a selector as below:
Exchange receive = consumer.receive("activemq:queue:testQueue.response?selector=JMSCorrelationID = '" + returnQueue + "'"", responseTimeout); TestMessage response = receive == null ? null : (TestMessage)receive.getIn().getBody(); consumer.doneUoW(receive); The issue I have is that everytime this runs it leaves a TCP Transport and ActiveMQ Connection Thread behind, as you can imagine after a while running at peak load I get OutOfMemoryExceptions due to the number of running threads. I am using the Camel ConsumerTemplate, this is set in my Spring config as follows: <camelContext id="camelContext" trace="true" xmlns="http://camel.apache.org/schema/spring"> <consumerTemplate id="consumerTemplate"/> <template id="producerTemplate" /> </camelContext> So as per https://cwiki.apache.org/CAMEL/why-does-camel-use-too-many-threads-with-producertemplate.html I am not creating a new consumer template each time. I have tried wrapping the receive() in consumer.start() and consumer.stop() and this makes no difference. I am running the following versions: Camel - 2.10.2 ActiveMQ - 5.4.3 (I have tried the above with 5.6.0 and 5.7.1 and it makes no difference) Spring - 3.0.2 Does anyone have any idea what could be causing these threads to leak? Many Thanks Elwood -- View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-and-Camel-Polling-Consumer-Thread-Leak-tp4666456.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.