Package org.glassfish.external.amx
Class AMXGlassfish
- java.lang.Object
-
- org.glassfish.external.amx.AMXGlassfish
-
public final class AMXGlassfish extends java.lang.Object
AMX behavior specific to Glassfish V3.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AMXGlassfish.BootAMXCallback
Callback forMBeanListener
that waits for the BootAMXMBean to appear; it always will load early in server startup.private static class
AMXGlassfish.WaitForDomainRootListenerCallback
-
Field Summary
Fields Modifier and Type Field Description static AMXGlassfish
DEFAULT
Default domain supportstatic java.lang.String
DEFAULT_JMX_DOMAIN
private javax.management.ObjectName
mDomainRoot
private java.lang.String
mJMXDomain
-
Constructor Summary
Constructors Constructor Description AMXGlassfish(java.lang.String jmxDomain)
Anything other thanDEFAULT
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 ObjectNamejavax.management.ObjectName
domainRoot()
return the ObjectName of the AMX DomainRoot MBeanjavax.management.ObjectName
getBootAMXMBeanObjectName()
ObjectName forBootAMXMBean
static java.lang.String
getGlassfishVersion()
Return a version string, or null if not running in Glassfishvoid
invokeBootAMX(javax.management.MBeanServerConnection conn)
Invoke the bootAMX() method onBootAMXMBean
.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 theBootAMXMBean
.<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 exceptionjavax.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 serverjavax.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.
-
-
-
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 thanDEFAULT
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 parttype
- The ObjectName typename
- 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 forBootAMXMBean
-
invokeBootAMX
public void invokeBootAMX(javax.management.MBeanServerConnection conn)
Invoke the bootAMX() method onBootAMXMBean
. Upon return, AMX continues to load. A cilent should callinvokeWaitAMXReady(javax.management.MBeanServerConnection, javax.management.ObjectName)
prior to use.
-
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.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 theBootAMXMBean
. 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)
-
-