[
https://issues.apache.org/jira/browse/AMQ-4033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483201#comment-13483201
]
Gary Tully commented on AMQ-4033:
---------------------------------
one thought on this. In an embedded case, where there is a third party
container. the broker is best reusing the jvms mbean server rather than
creating its own. Or reusing the mbean server provided by the container. It is
just less moving parts.
So managementContext.createMBeanServer=false should be used
> AMQ Broker - Uses custom RMIServerSocketFactory class which cannot be
> unloaded due socket reuse
> -----------------------------------------------------------------------------------------------
>
> Key: AMQ-4033
> URL: https://issues.apache.org/jira/browse/AMQ-4033
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, JMX
> Affects Versions: 5.6.0
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 5.7.0
>
> Attachments: MMC.png
>
>
> When embedding ActiveMQ Broker in a container, such as Tomcat or others. And
> if you have JMX enabled on the broker, then a RMI registry is created to
> allow JMX/RMI over TCP.
> This uses a custom RMIServerSocketFactory that gets enlisted into the JDK RMI
> registry. But when you undeploy the AMQ broker, there is no API in the JDK to
> unregister your custom RMIServerSocketFactory class.
> And therefore the JDK (system class) has a strong reference to the custom
> RMIServerSocketFactory, which prevents the container classloader to fully
> unload all classes.
> Disabling JMX on the broker, allows to unload all the classes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira