Class AMXGlassfish


  • public final class AMXGlassfish
    extends java.lang.Object
    AMX behavior specific to Glassfish V3.
    • Constructor Summary

      Constructors 
      Constructor Description
      AMXGlassfish​(java.lang.String jmxDomain)
      Anything other than DEFAULT is not supported in Glassfish V3
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String amxJMXDomain()
      JMX domain used by AMX MBeans.
      java.lang.String amxSupportDomain()
      JMX domain used by AMX support MBeans.
      javax.management.ObjectName bootAMX​(javax.management.MBeanServer server)  
      javax.management.ObjectName bootAMX​(javax.management.MBeanServerConnection conn)
      Ensure that AMX is loaded and ready to use.
      java.lang.String dasConfig()
      name of the Domain Admin Server (DAS) <config>
      java.lang.String dasName()
      name of the Domain Admin Server (DAS) as found in an ObjectName
      javax.management.ObjectName domainRoot()
      return the ObjectName of the AMX DomainRoot MBean
      javax.management.ObjectName getBootAMXMBeanObjectName()
      ObjectName for BootAMXMBean
      static java.lang.String getGlassfishVersion()
      Return a version string, or null if not running in Glassfish
      void invokeBootAMX​(javax.management.MBeanServerConnection conn)
      Invoke the bootAMX() method on BootAMXMBean.
      private static void invokeWaitAMXReady​(javax.management.MBeanServerConnection conn, javax.management.ObjectName objectName)
      Invoke the waitAMXReady() method on the DomainRoot MBean, which must already be loaded.
      <T extends MBeanListener.Callback>
      MBeanListener<T>
      listenForBootAMX​(javax.management.MBeanServerConnection server, T callback)
      Listen for the registration of the BootAMXMBean.
      <T extends MBeanListener.Callback>
      MBeanListener<T>
      listenForDomainRoot​(javax.management.MBeanServerConnection server, T callback)
      Listen for the registration of AMX DomainRoot Listening starts automatically.
      javax.management.ObjectName monitoringRoot()
      ObjectName for top-level monitoring MBean (parent of those for each server)
      javax.management.ObjectName newObjectName​(java.lang.String s)
      Make a new ObjectName for AMX domain with unchecked exception
      javax.management.ObjectName newObjectName​(java.lang.String pp, java.lang.String type, java.lang.String name)
      Make a new AMX ObjectName with unchecked exception.
      private static java.lang.String prop​(java.lang.String key, java.lang.String value)  
      javax.management.ObjectName serverMon​(java.lang.String serverName)
      ObjectName for top-level monitoring MBean for specified server
      javax.management.ObjectName serverMonForDAS()
      ObjectName for top-level monitoring MBean for the DAS.
      javax.management.ObjectName waitAMXReady​(javax.management.MBeanServerConnection server)
      Wait until AMX has loaded and is ready for use.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_JMX_DOMAIN

        public static final java.lang.String DEFAULT_JMX_DOMAIN
        See Also:
        Constant Field Values
      • DEFAULT

        public static final AMXGlassfish DEFAULT
        Default domain support
      • mJMXDomain

        private final java.lang.String mJMXDomain
      • mDomainRoot

        private final javax.management.ObjectName mDomainRoot
    • Constructor Detail

      • AMXGlassfish

        public AMXGlassfish​(java.lang.String jmxDomain)
        Anything other than DEFAULT is not supported in Glassfish V3
    • Method Detail

      • getGlassfishVersion

        public static java.lang.String getGlassfishVersion()
        Return a version string, or null if not running in Glassfish
      • amxJMXDomain

        public java.lang.String amxJMXDomain()
        JMX domain used by AMX MBeans.

        All MBeans in this domain must be AMX-compliant, see http://tinyurl.com/nryoqp = https://glassfish.dev.java.net/nonav/v3/admin/planning/V3Changes/V3_AMX_SPI.html

      • amxSupportDomain

        public java.lang.String amxSupportDomain()
        JMX domain used by AMX support MBeans. Private use only
      • dasName

        public java.lang.String dasName()
        name of the Domain Admin Server (DAS) as found in an ObjectName
      • dasConfig

        public java.lang.String dasConfig()
        name of the Domain Admin Server (DAS) <config>
      • domainRoot

        public javax.management.ObjectName domainRoot()
        return the ObjectName of the AMX DomainRoot MBean
      • monitoringRoot

        public javax.management.ObjectName monitoringRoot()
        ObjectName for top-level monitoring MBean (parent of those for each server)
      • serverMon

        public javax.management.ObjectName serverMon​(java.lang.String serverName)
        ObjectName for top-level monitoring MBean for specified server
      • serverMonForDAS

        public javax.management.ObjectName serverMonForDAS()
        ObjectName for top-level monitoring MBean for the DAS.
      • newObjectName

        public javax.management.ObjectName newObjectName​(java.lang.String pp,
                                                         java.lang.String type,
                                                         java.lang.String name)
        Make a new AMX ObjectName with unchecked exception. name must be null to create a singleton ObjectName. Note that the arguments must not contain the characters
        Parameters:
        pp - The parent part
        type - The ObjectName type
        name - The ObjectName name
        Returns:
        The objectname with pp, type, and (optionally) name.
      • newObjectName

        public javax.management.ObjectName newObjectName​(java.lang.String s)
        Make a new ObjectName for AMX domain with unchecked exception
      • prop

        private static java.lang.String prop​(java.lang.String key,
                                             java.lang.String value)
      • getBootAMXMBeanObjectName

        public javax.management.ObjectName getBootAMXMBeanObjectName()
        ObjectName for BootAMXMBean
      • invokeWaitAMXReady

        private static void invokeWaitAMXReady​(javax.management.MBeanServerConnection conn,
                                               javax.management.ObjectName objectName)
        Invoke the waitAMXReady() method on the DomainRoot MBean, which must already be loaded.
      • listenForDomainRoot

        public <T extends MBeanListener.CallbackMBeanListener<T> listenForDomainRoot​(javax.management.MBeanServerConnection server,
                                                                                       T callback)
        Listen for the registration of AMX DomainRoot Listening starts automatically.
      • waitAMXReady

        public javax.management.ObjectName waitAMXReady​(javax.management.MBeanServerConnection server)
        Wait until AMX has loaded and is ready for use.

        This will not cause AMX to load; it will block forever until AMX is ready. In other words, don't call this method unless it's a convenient thread that can wait forever.

      • listenForBootAMX

        public <T extends MBeanListener.CallbackMBeanListener<T> listenForBootAMX​(javax.management.MBeanServerConnection server,
                                                                                    T callback)
        Listen for the registration of the BootAMXMBean. Listening starts automatically.
      • bootAMX

        public javax.management.ObjectName bootAMX​(javax.management.MBeanServerConnection conn)
                                            throws java.io.IOException
        Ensure that AMX is loaded and ready to use. This method returns only when all AMX subsystems have been loaded. It can be called more than once without ill effect, subsequent calls are ignored.
        Parameters:
        conn - connection to the MBeanServer
        Returns:
        the ObjectName of the domain-root MBean
        Throws:
        java.io.IOException
      • bootAMX

        public javax.management.ObjectName bootAMX​(javax.management.MBeanServer server)