org.glassfish.external.amx
Class AMXGlassfish

java.lang.Object
  extended by org.glassfish.external.amx.AMXGlassfish

public final class AMXGlassfish
extends java.lang.Object

AMX behavior specific to Glassfish V3.


Nested Class Summary
static class AMXGlassfish.BootAMXCallback
          Callback for MBeanListener that waits for the BootAMXMBean to appear; it always will load early in server startup.
 
Field Summary
static AMXGlassfish DEFAULT
          Default domain support
static java.lang.String DEFAULT_JMX_DOMAIN
           
 
Constructor Summary
AMXGlassfish(java.lang.String jmxDomain)
          Anything other than DEFAULT is not supported in Glassfish V3
 
Method Summary
 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.
<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.
 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

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


getBootAMXMBeanObjectName

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


invokeBootAMX

public void invokeBootAMX(javax.management.MBeanServerConnection conn)
Invoke the bootAMX() method on BootAMXMBean. Upon return, AMX continues to load. A cilent should call invokeWaitAMXReady prior to use.


listenForDomainRoot

public <T extends MBeanListener.Callback> MBeanListener<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.Callback> MBeanListener<T> listenForBootAMX(javax.management.MBeanServerConnection server,
                                                                            T callback)
Listen for the registration of the BootAMXMBean. Listening starts automatically. See AMXBooter#BootAMXCallback.


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)