Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-4033

AMQ Broker - Uses custom RMIServerSocketFactory class which cannot be unloaded due socket reuse

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 5.6.0
    • Fix Version/s: NEEDS_REVIEW
    • Component/s: Broker, JMX
    • Labels:
      None
    • Regression:
      Regression

      Description

      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.

        Attachments

        1. MMC.png
          106 kB
          Claus Ibsen

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                davsclaus Claus Ibsen
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated: