java.lang.management
public class ManagementFactory extends Object
Provides access to the system's management beans via a series of static methods.
An instance of a system management bean can be obtained by using one of the following methods:
The data types used by the management beans are restricted
to
Data Type Used | Data Type Returned |
Primitive types (int , char , etc.) |
Same |
Wrapper classes ({@link{java.lang.Integer}, Since: 1.5 UNKNOWN: etc.) |
Same |
An {@link java.lang.Enum} | The name of the enumeration constant |
An array of type E |
An array of the same dimensions with this mapping applied
to E . |
A class with `getter' methods and a
from({@link javax.management.openmbean.CompositeData})
method. |
The equivalent {@link javax.management.openmbean.CompositeData}
instance, specified by the from method. |
A map with keys of type K and values of
type V . |
A {@link javax.management.openmbean.TabularData} instance,
with the row type containing two items, "key" and
"value" with the types K and V
respectively (with translation applied). |
A list of type E . |
An array with this mapping applied to E . |
Field Summary | |
---|---|
static String | CLASS_LOADING_MXBEAN_NAME
The object name for the class loading bean. |
static String | COMPILATION_MXBEAN_NAME
The object name for the compilation bean. |
static String | GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
The domain for the garbage collecting beans. |
static String | MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
The domain for the memory manager beans. |
static String | MEMORY_MXBEAN_NAME
The object name for the memory bean. |
static String | MEMORY_POOL_MXBEAN_DOMAIN_TYPE
The domain for the memory pool beans. |
static String | OPERATING_SYSTEM_MXBEAN_NAME
The object name for the operating system bean. |
static String | RUNTIME_MXBEAN_NAME
The object name for the runtime bean. |
static String | THREAD_MXBEAN_NAME
The object name for the threading bean. |
Method Summary | |
---|---|
static ClassLoadingMXBean | getClassLoadingMXBean()
Returns the class loading management bean for the
running virtual machine.
|
static CompilationMXBean | getCompilationMXBean()
Returns the compilation bean for the running
virtual machine, if supported. |
static List<GarbageCollectorMXBean> | getGarbageCollectorMXBeans()
Returns the garbage collector beans for the running
virtual machine. |
static List<MemoryManagerMXBean> | getMemoryManagerMXBeans()
Returns the memory manager beans for the running
virtual machine. |
static MemoryMXBean | getMemoryMXBean()
Returns the memory management bean for the running
virtual machine.
|
static List<MemoryPoolMXBean> | getMemoryPoolMXBeans()
Returns the memory pool beans for the running
virtual machine. |
static OperatingSystemMXBean | getOperatingSystemMXBean()
Returns the operating system management bean for the
operating system on which the virtual machine is running.
|
static MBeanServer | getPlatformMBeanServer() Returns the platform {@link javax.management.MBeanServer}. |
static RuntimeMXBean | getRuntimeMXBean()
Returns the runtime management bean for the
running virtual machine.
|
static ThreadMXBean | getThreadMXBean()
Returns the thread management bean for the running
virtual machine.
|
static <T> T | newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface) Returns a proxy for the specified platform bean. |
Returns: an instance of {@link ClassLoadingMXBean} for this virtual machine.
null
.
Returns: an instance of {@link CompilationMXBean} for
this virtual machine, or null
if the virtual machine doesn't include
a Just-In-Time (JIT) compiler.
Returns: a list of garbage collector beans, one for each pool.
Returns: a list of memory manager beans, one for each manager.
Returns: an instance of {@link MemoryMXBean} for this virtual machine.
Returns: a list of memory pool beans, one for each pool.
Returns: an instance of {@link OperatingSystemMXBean} for the underlying operating system.
Returns the platform {@link javax.management.MBeanServer}. On the
first call to this method, a server instance is retrieved from
the {@link javax.management.MBeanServerFactory} and each of the
beans are registered with it. Subsequent calls return the existing
instance. If the property javax.management.builder.initial
is set, its value will be used as the name of the class which is used
to provide the server instance.
It is recommended that the platform server is used for other beans as well, in order to simplify their discovery and publication. Name conflicts should be avoided.
Returns: the platform {@link javax.management.MBeanServer}
Throws: SecurityException if a security manager exists and the caller's permissions don't imply {@link MBeanServerPermission(String)}("createMBeanServer")
See Also: MBeanServerFactory createMBeanServer
Returns: an instance of {@link RuntimeMXBean} for this virtual machine.
Returns: an instance of {@link ThreadMXBean} for this virtual machine.
Returns a proxy for the specified platform bean. A proxy object is created
using Proxy.newProxyInstance(mxbeanInterface.getClassLoader(),
new Class[] { mxbeanInterface }, handler)
. The
{@link javax.management.NotificationEmitter} class is also added to the
array if the bean provides notifications. handler
refers
to the invocation handler which forwards calls to the connection, and
also provides translation between the Java data types used in the
bean interfaces and the open data types, as specified in the description
of this class. It is this translation that makes the
usual {@link javax.management.MBeanServerInvocationHandler} inappropriate
for providing such a proxy.
Note: use of the proxy may result in {@link java.io.IOException}s from the underlying {@link MBeanServerConnection} and a {@link java.io.InvalidObjectException} if enum constants used on the client and the server don't match.
Parameters: connection the server connection to use to access the bean. mxbeanName the {@link javax.management.ObjectName} of the bean to provide a proxy for. mxbeanInterface the interface for the bean being proxied.
Returns: a proxy for the specified bean.
Throws: IllegalArgumentException if mxbeanName
is not a valid
{@link javax.management.ObjectName},
the interface and name do not match the
same bean, the name does not refer to a
platform bean or the bean is not registered
with the server accessed by connection
. IOException if the connection throws one.