Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-3054

getPlatformMBeanServer behaves badly when called from premain class such as jmxetric

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: JBoss AS7 7.1.1.Final
    • Fix Version/s: None
    • Component/s: JMX
    • Labels:

      Description

      JMXetric is a management agent JAR loaded using the JVM argument

      java -javaagent:$JARLIBS/jmxetric-1.0.2.jar .....

      In the premain method (executed before JBoss main() is invoked), jmxetric calls the static method:

      ManagementFactory.getPlatformMBeanServer()

      This puts JMX into a bad state and the jboss.as tree is completely missing when browsed with jconsole

      As a workaround, jmxetric will defer the call to ManagementFactory.getPlatformMBeanServer() using the "initialdelay" parameter set to a value such as 20 seconds.

      However, it would be good if JBoss could act more cleanly in this situation, for example, throwing an exception if ManagementFactory.getPlatformMBeanServer() is called too early, or finding a way to add the "jboss.as" stuff later.

      The 1.0.6 release of jmxetric will include the workaround by default. The bug can be reproduced by setting initialdelay="0" in the sample jmxetric.xml or using jmxetric 1.0.5

      jmxetric versions before 1.0.5 suffer from issues with the jboss logger as discussed in WFLY-895, so this issue was only discovered after removing the logging statements from jmxetric.

      Also covered in jmxetric github:

      https://github.com/ganglia/jmxetric/issues/9

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                kabirkhan Kabir Khan
                Reporter:
                dpocock dpocock
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: