public class ManagementFactory extends Object
ManagementFactory
类是获取java平台的管理bean工厂类。这类由静态方法都返回一个或多个空平台mxbeans代表一个java虚拟机的组件管理界面。
一个平台MXBean是空托管豆符合JMX仪表规范,只使用一套基本数据类型。JMX管理应用和platform MBeanServer可以互不需要类MXBean特定数据类型。数据类型是JMX连接器服务器和客户端之间发送连接器open types这允许互操作的不同版本。看到 the specification of MXBeans详情。
每个平台MXBean是PlatformManagedObject
和它有一个独特的ObjectName
在平台MBeanServer
登记作为返回由getObjectName
方法。
一个应用程序可以访问以下方式平台MXBean:
- Get an MXBean instance by calling the
getPlatformMXBean
orgetPlatformMXBeans
method and access the MXBean locally in the running virtual machine.- Construct an MXBean proxy instance that forwards the method calls to a given
MBeanServer
by calling thegetPlatformMXBean(MBeanServerConnection, Class)
orgetPlatformMXBeans(MBeanServerConnection, Class)
method. ThenewPlatformMXBeanProxy
method can also be used to construct an MXBean proxy instance of a givenObjectName
. A proxy is typically constructed to remotely access an MXBean of another running virtual machine.2. Indirect access to an MXBean interface via MBeanServer
- Go through the platform
MBeanServer
to access MXBeans locally or a specific MBeanServerConnection to access MXBeans remotely. The attributes and operations of an MXBean use only JMX open types which include basic data types,CompositeData
, andTabularData
defined inOpenType
. The mapping is specified in the MXBean specification for details.
getPlatformManagementInterfaces
方法返回的所有管理界面的java虚拟机包括在下面的表格以及管理接口的JDK实现上市标准管理接口,支持扩展。
一个java虚拟机具有以下管理接口的一个实例:
一个java虚拟机有零个或一个单独的实例如下管理界面。
Management Interface ObjectName CompilationMXBean
java.lang:type=Compilation
一个java虚拟机可以有以下管理接口的一个或多个实例。
Management Interface ObjectName GarbageCollectorMXBean
java.lang:type=GarbageCollector
,name=collector's nameMemoryManagerMXBean
java.lang:type=MemoryManager
,name=manager's nameMemoryPoolMXBean
java.lang:type=MemoryPool
,name=pool's nameBufferPoolMXBean
java.nio:type=BufferPool,name=
pool name
MXBean
Modifier and Type | Field and Description |
---|---|
static String |
CLASS_LOADING_MXBEAN_NAME
为
ClassLoadingMXBean 的
ObjectName字符串表示形式。
|
static String |
COMPILATION_MXBEAN_NAME
为
CompilationMXBean 的
ObjectName字符串表示形式。
|
static String |
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
域名与类型的关键属性在
ObjectName一
GarbageCollectorMXBean 。
|
static String |
MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
域名与类型的关键属性在
ObjectName一
MemoryManagerMXBean 。
|
static String |
MEMORY_MXBEAN_NAME
为
MemoryMXBean 的
ObjectName字符串表示形式。
|
static String |
MEMORY_POOL_MXBEAN_DOMAIN_TYPE
域名与类型的关键属性在
ObjectName一
MemoryPoolMXBean 。
|
static String |
OPERATING_SYSTEM_MXBEAN_NAME
为
OperatingSystemMXBean 的
ObjectName字符串表示形式。
|
static String |
RUNTIME_MXBEAN_NAME
为
RuntimeMXBean 的
ObjectName字符串表示形式。
|
static String |
THREAD_MXBEAN_NAME
为
ThreadMXBean 的
ObjectName字符串表示形式。
|
Modifier and Type | Method and Description |
---|---|
static ClassLoadingMXBean |
getClassLoadingMXBean()
返回托管bean的java虚拟机的类加载系统。
|
static CompilationMXBean |
getCompilationMXBean()
返回托管bean的java虚拟机编译系统。
|
static List<GarbageCollectorMXBean> |
getGarbageCollectorMXBeans()
返回一个在java虚拟机的
GarbageCollectorMXBean 对象列表。
|
static List<MemoryManagerMXBean> |
getMemoryManagerMXBeans()
返回一个在java虚拟机的
MemoryManagerMXBean 对象列表。
|
static MemoryMXBean |
getMemoryMXBean()
返回托管bean的java虚拟机的内存系统。
|
static List<MemoryPoolMXBean> |
getMemoryPoolMXBeans()
返回一个在java虚拟机的
MemoryPoolMXBean 对象列表。
|
static OperatingSystemMXBean |
getOperatingSystemMXBean()
返回托管bean的操作系统上运行的java虚拟机。
|
static Set<类<? extends PlatformManagedObject>> |
getPlatformManagementInterfaces()
返回
类 对象的集合,接口的
PlatformManagedObject ,占监测和管理的java平台管理接口。
|
static MBeanServer |
getPlatformMBeanServer()
返回平台
MBeanServer 。
|
static <T extends PlatformManagedObject> |
getPlatformMXBean(类<T> mxbeanInterface)
返回平台MXBean实现给定的
mxbeanInterface 所指定的java虚拟机有一个单独的实例。
|
static <T extends PlatformManagedObject> |
getPlatformMXBean(MBeanServerConnection connection, 类<T> mxbeanInterface)
返回指定
mxbeanInterface 是java虚拟机中只有一个实例,代理将调用方法通过给定的
MBeanServerConnection 平台MXBean代理。
|
static <T extends PlatformManagedObject> |
getPlatformMXBeans(类<T> mxbeanInterface)
返回平台mxbeans实现给定的
mxbeanInterface 在java虚拟机列表。
|
static <T extends PlatformManagedObject> |
getPlatformMXBeans(MBeanServerConnection connection, 类<T> mxbeanInterface)
返回的
mxbeanInterface 转发的方法调用,通过给定的平台
MBeanServerConnection MXBean代理列表。
|
static RuntimeMXBean |
getRuntimeMXBean()
返回托管bean的java虚拟机的运行时系统。
|
static ThreadMXBean |
getThreadMXBean()
返回托管bean的java虚拟机的线程系统。
|
static <T> T |
newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, 类<T> mxbeanInterface)
返回一个给定
MXBean name,提出的方法通过给定的
MBeanServerConnection平台MXBean接口代理。
|
public static final String CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean
的
ObjectName字符串表示形式。
public static final String COMPILATION_MXBEAN_NAME
CompilationMXBean
的
ObjectName字符串表示形式。
public static final String MEMORY_MXBEAN_NAME
MemoryMXBean
的
ObjectName字符串表示形式。
public static final String OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean
的
ObjectName字符串表示形式。
public static final String RUNTIME_MXBEAN_NAME
RuntimeMXBean
的
ObjectName字符串表示形式。
public static final String THREAD_MXBEAN_NAME
ThreadMXBean
的
ObjectName字符串表示形式。
public static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
GarbageCollectorMXBean
。一
GarbageCollectorMXBean独特的
ObjectName可以通过添加该字符串“
,name=null收藏家的名字形成”。
public static final String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
MemoryManagerMXBean
。一
MemoryManagerMXBean独特的
ObjectName可以通过添加该字符串“
,name=null经理的名字形成”。
public static final String MEMORY_POOL_MXBEAN_DOMAIN_TYPE
MemoryPoolMXBean
。一
MemoryPoolMXBean独特的
ObjectName可以通过添加该字符串
,name=null池的名字形成。
public static ClassLoadingMXBean getClassLoadingMXBean()
ClassLoadingMXBean
对象。
public static MemoryMXBean getMemoryMXBean()
MemoryMXBean
对象。
public static ThreadMXBean getThreadMXBean()
ThreadMXBean
对象。
public static RuntimeMXBean getRuntimeMXBean()
RuntimeMXBean
对象的java虚拟机。
public static CompilationMXBean getCompilationMXBean()
CompilationMXBean
对象的java虚拟机或
null如果java虚拟机没有编译系统。
public static OperatingSystemMXBean getOperatingSystemMXBean()
OperatingSystemMXBean
对象。
public static List<MemoryPoolMXBean> getMemoryPoolMXBeans()
MemoryPoolMXBean
对象列表。java虚拟机可以有一个或多个内存池。它可以在执行过程中添加或删除内存池。
public static List<MemoryManagerMXBean> getMemoryManagerMXBeans()
MemoryManagerMXBean
对象列表。java虚拟机可以有一个或更多的内存管理。它可以在执行过程中添加或删除内存管理器。
public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans()
GarbageCollectorMXBean
对象列表。java虚拟机可以有一个或多个
GarbageCollectorMXBean对象。它可以添加或删除
GarbageCollectorMXBean执行期间。
public static MBeanServer getPlatformMBeanServer()
MBeanServer
。对这一方法的第一次调用时,它首先创建平台
MBeanServer
通过调用
MBeanServerFactory.createMBeanServer
方法在这个平台
MBeanServer
其
ObjectName
每个平台MXBean寄存器。这种方法的后续调用将返回,
MBeanServer
mxbeans得到动态创建和销毁,例如,内存pools
和managers
,将自动注册和注销进入平台MBeanServer
。
如果系统性能javax.management.builder.initial
设置,平台MBeanServer
创作将由指定的MBeanServerBuilder
做。
这是建议,该平台也可用于登记MBeanServer其他应用程序管理的豆除了平台mxbeans。这将允许所有MBean将发表在同样的MBeanServer
因此允许更容易的网络发布和发现。应避免与平台mxbeans名称冲突。
MBeanServer
平台;平台mxbeans注册进入平台
MBeanServer
在第一次调用此方法。
SecurityException
-如果有一个安全管理和调用方没有所需的权限
MBeanServerFactory.createMBeanServer()
。
MBeanServerFactory
,
MBeanServerFactory.createMBeanServer()
public static <T> T newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, 类<T> mxbeanInterface) throws IOException
此方法相当于:
Proxy.newProxyInstance
(mxbeanInterface.getClassLoader(), new Class[] { mxbeanInterface }, handler)
哪里
handler是
InvocationHandler
,方法调用的MXBean接口发送。这
handler转换输入的参数的数据类型映射到它的MXBean开放式转发之前的
MBeanServer并将返回值从一个MXBean方法调用通过开放式的
MBeanServer到相应的返回类型的MXBean接口中声明。
如果MXBean是一个通知发射器(即,它实现了NotificationEmitter
),无论是mxbeanInterface和NotificationEmitter将由这个代理的实现。
笔记:
IOException
可以当通信连接器服务器出现问题。一个应用程序的远程访问平台mxbeans使用代理应该准备赶IOException仿佛与MBeanServerConnector接口访问。InvalidObjectException
时甩出一个MXBean代理接收一个枚举常量的枚举类加载在客户端应用程序中失踪的名字。MBeanServerInvocationHandler
或其newProxyInstance
方法不能用于创建一个平台MXBean代理。由MBeanServerInvocationHandler代理对象不处理在class specification描述平台mxbeans性能。T
-
mxbeanInterface
类型参数
connection
-
MBeanServerConnection期待。
mxbeanName
-平台MXBean的名字在
connection期待。
mxbeanName必须在
ObjectName
格式。
mxbeanInterface
的MXBean接口被代理的实现。
null
如果不存在。
ObjectName
格式,或IllegalArgumentException
IOException
如果沟通问题发生时访问
MBeanServerConnection。
public static <T extends PlatformManagedObject> T getPlatformMXBean(类<T> mxbeanInterface)
mxbeanInterface
所指定的java虚拟机有一个单独的实例。这种方法可能会返回
null
如果管理接口不在java虚拟机实现(例如,一个没有编译系统的java虚拟机没有实现
CompilationMXBean
);否则,该方法相当于调用:
getPlatformMXBeans(mxbeanInterface)
得到(0);
T
-
mxbeanInterface
类型参数
mxbeanInterface
-管理界面为平台MXBean单实例的java虚拟机如果实现。
mxbeanInterface
平台MXBean,或
null
如果不存在。
IllegalArgumentException
-如果
mxbeanInterface
不是平台管理界面或不单平台MXBean。
public static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(类<T> mxbeanInterface)
mxbeanInterface
列表。返回的列表可能包含零、一个或多个实例。返回列表中的实例的数量在给定的管理接口规范中定义。顺序是未定义的,也不能保证返回的列表是在同一顺序以前调用。
T
-
mxbeanInterface
类型参数
mxbeanInterface
-一个平台MXBean管理界面
mxbeanInterface
。
IllegalArgumentException
-如果
mxbeanInterface
不是平台管理接口。
public static <T extends PlatformManagedObject> T getPlatformMXBean(MBeanServerConnection connection, 类<T> mxbeanInterface) throws IOException
mxbeanInterface
是java虚拟机中只有一个实例,代理将调用方法通过给定的
MBeanServerConnection
平台MXBean代理。这种方法可能会返回
null
如果管理接口不在java虚拟机监控的实现(例如,一个没有编译系统的java虚拟机没有实现
CompilationMXBean
);否则,该方法相当于调用:
getPlatformMXBeans(connection, mxbeanInterface)
得到(0);
T
-
mxbeanInterface
类型参数
connection
-
MBeanServerConnection
期待。
mxbeanInterface
-管理界面为平台MXBean单实例的java虚拟机进行监测,如果实施。
mxbeanInterface
方法调用转发通过给定的
MBeanServerConnection
,或
null
如果不存在。
IllegalArgumentException
-如果
mxbeanInterface
不是平台管理界面或不单平台MXBean。
IOException
如果沟通问题发生时访问
MBeanServerConnection
。
newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
public static <T extends PlatformManagedObject> List<T> getPlatformMXBeans(MBeanServerConnection connection, 类<T> mxbeanInterface) throws IOException
mxbeanInterface
转发的方法调用,通过给定的平台
MBeanServerConnection
MXBean代理列表。返回的列表可能包含零、一个或多个实例。返回列表中的实例的数量在给定的管理接口规范中定义。顺序是未定义的,也不能保证返回的列表是在同一顺序以前调用。
T
-
mxbeanInterface
类型参数
connection
-
MBeanServerConnection
期待。
mxbeanInterface
-一个平台MXBean管理界面
mxbeanInterface
方法调用通过给定的
MBeanServerConnection
平台MXBean代理列表。
IllegalArgumentException
-如果
mxbeanInterface
不是平台管理接口。
IOException
如果沟通问题发生时访问
MBeanServerConnection
。
newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>)
public static Set<类<? extends PlatformManagedObject>> getPlatformManagementInterfaces()
类
对象的集合,接口的
PlatformManagedObject
,占监测和管理的java平台管理接口。
类
的对象集,
PlatformManagedObject
代表的监测和管理的java平台的管理接口界面。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.