[
https://issues.apache.org/jira/browse/AMQ-6334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15344772#comment-15344772
]
Timothy Bish commented on AMQ-6334:
-----------------------------------
Seems like the SimpleJmsQueueConnector and SimpleJmsTopicConnector are the
issue here, the init methods need to handle the case of an exception being
thrown and closing the newConnection instance before exiting when an exception
is thrown.
> ActiveMQConnection triggered heap space out of memory error when used with
> org.apache.activemq.network.SimpleJmsQueueConnector
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-6334
> URL: https://issues.apache.org/jira/browse/AMQ-6334
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, JMS client
> Affects Versions: 5.12.1
> Environment: WebLogic v10.3.6, HotSpot 64bit JVM 1.7.0_71
> Reporter: Ben Nisbet
> Fix For: NEEDS_REVIEW
>
> Attachments: ActiveMQConnectionMemoryLeakTest.java,
> PatchedActiveMQConnection.java
>
>
> This defect was identified when proxying an outbound queue bridge's foreign
> connection through a load balancer with no available cluster nodes and is
> reported in the ActiveMQ broker log file with following DEBUG level event
> message:
>
> DEBUG 2016-June-22 15:54:25,165 JmsConnector:627 - Failed to establish
> initial [foreign, 24388] connection for JmsConnector [javax.jms.JMSException:
> Cannot send, channel has already failed: tcp://0.0.0.0:61616]
> In ActiveMQ v5.12.1 release this is triggered by a ConnectionFailedException
> being thrown on line 190 of class
> org.apache.activemq.network.SimpleJmsQueueConnector and can be replicated by
> running the attached JUnit test.
>
> Attached ActiveMQConnection subclass ensures that resource clean up is
> performed if any exception is thrown during an invocation of the start()
> method. Consequently instances are eligible for garbage collection if the
> underlying TCP connection is successfully established by constructor and then
> reset by peer before the connection is put into service.
> Is it possible to include this behaviour within the ActiveMQConnection class
> itself in future release?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)