[ https://issues.apache.org/activemq/browse/CAMEL-2469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57574#action_57574 ]
Aaron Riekenberg commented on CAMEL-2469: ----------------------------------------- Looking into the code, it looks like by default org.apache.activemq.camel.component.ActiveMQConfiguration.usePooledConnection = true, so ActiveMQConfiguration.createConnectionFactory creates an org.apache.activemq.pool.PooledConnectionFactory. PooledConnectionFactory needs to have stop() called on it to close underlying connections. Nothing in camel is doing this when the context is closed. One possible workaround is to manually create a PooledConnectionFactory and pass it to ActiveMQComponent.setConnectionFactory. Then you have to call stop() yourself on the PooledConnectionFactory to close connections when the camel context is stopped. This seems to be a bad default. If by default camel is going to create a PooledConnectionFactory for the user, shouldn't it clean it up when the context is closed? > Stopping camel context with ActiveMQComponent does not close connections to > ActiveMQ > ------------------------------------------------------------------------------------ > > Key: CAMEL-2469 > URL: https://issues.apache.org/activemq/browse/CAMEL-2469 > Project: Apache Camel > Issue Type: Bug > Components: camel-activemq > Affects Versions: 2.1.0 > Environment: Ubuntu Linux 9.10, Sun JDK 1.6.0_15, Camel > 2.1.0-psc-01-00RC1, ActiveMQ 5.3.0-psc-01-00RC1 > Reporter: Aaron Riekenberg > Attachments: ActiveMQTest.java > > > Stopping a camel context that uses an ActiveMQComponent does not appear to > close connections to the ActiveMQBroker. See the attached test case as an > example. It creates a camel context containing an ActiveMQ consumer and > producer, sends a message, then destroys the context. The test case does > this in a loop so every 4 seconds the old camel context is destroyed and a > new one is created. Every second the test outputs the number of connections > to the ActiveMQ broker. This number continually grows over time. After > running for a few minutes I see output like this: > 10:17:28,885 INFO ActiveMQTest - num connections = 159 > 10:17:29,885 INFO ActiveMQTest - num connections = 159 > 10:17:30,574 INFO ActiveMQTest - creating context and sending message > 10:17:30,574 INFO DefaultCamelContext - Apache Camel 2.1.0-psc-01-00RC1 > (CamelContext:camel-160) is starting > 10:17:30,574 INFO DefaultCamelContext - JMX enabled. Using > DefaultManagedLifecycleStrategy. > 10:17:30,744 INFO DefaultCamelContext - Apache Camel 2.1.0-psc-01-00RC1 > (CamelContext:camel-160) started > 10:17:30,753 INFO ActiveMQTest - consume message = message > 10:17:30,885 INFO ActiveMQTest - num connections = 160 > 10:17:31,885 INFO ActiveMQTest - num connections = 160 > 10:17:32,747 INFO ActiveMQTest - destroying context > 10:17:32,747 INFO DefaultCamelContext - Apache Camel 2.1.0-psc-01-00RC1 > (CamelContext:camel-160) is stopping > 10:17:32,755 INFO DefaultInflightRepository - Shutting down with no inflight > exchanges. > 10:17:32,755 INFO DefaultCamelContext - Apache Camel 2.1.0-psc-01-00RC1 > (CamelContext:camel-160) stopped > 10:17:32,886 INFO ActiveMQTest - num connections = 160 > 10:17:33,885 INFO ActiveMQTest - num connections = 160 > Also if I do "netstat -an | grep 61616" I see the number of connections to > the broker on TCP port 61616 is continually growing. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.