public class MBeanServerFactory extends Object
MBean服务器提供参考。没有这个类的实例。
由于JMX 1.2这类可以替换默认的MBeanServer实施。这是使用MBeanServerBuilder
类。最初的MBeanServerBuilder类来实例化可以通过javax.management.builder.initial系统属性指定。指定的类必须是MBeanServerBuilder
公共类,必须有一个公共的空构造函数。
默认情况下,如果没有价值,指定属性,建立了javax.management.MBeanServerBuilder
实例。否则,加载指定的类的使用Thread.currentThread().getContextClassLoader()
mbeanserverfactory尝试,或如果这是无效的,Class.forName()
。然后创建该类的一个实例使用Class.newInstance()
初始。如果有任何异常的是在这个过程中提出的(例如ClassNotFoundException
,InstantiationException
)的mbeanserverfactory将会从RuntimeException异常。
系统的javax.management.builder.initial物业咨询每一次新的MBeanServer需要创建的类,和指向的属性加载。如果这类不同,现在的MBeanServerBuilder,然后一个新的MBeanServerBuilder了。否则,可能会创建一个新的mbeanserverfactory mbeanserverbuilder或重用当前。
如果类所指向的属性不能被加载,或无效的子类,然后MBeanServerBuilder是一个例外,没有传播,直到javax.management.builder.initial MBeanServer可以创建系统属性重置为有效值。
MBeanServerBuilder可以把mbeanservers默认mbeanserverbuilder实现返回,为目的,例如增加一个额外的安全层。
Modifier and Type | Method and Description |
---|---|
static MBeanServer |
createMBeanServer()
返回一个新的对象与标准的默认域名实施MBeanServer接口。
|
static MBeanServer |
createMBeanServer(String domain)
返回一个新的对象实施
MBeanServer 接口与指定的默认域名。
|
static ArrayList<MBeanServer> |
findMBeanServer(String agentId)
返回一个列表注册MBeanServer对象。
|
static ClassLoaderRepository |
getClassLoaderRepository(MBeanServer server)
返回给定的classloaderrepository MBeanServer。
|
static MBeanServer |
newMBeanServer()
返回一个新的对象与标准的默认域名实施MBeanServer接口,没有保持一个内部参考这个新对象。
|
static MBeanServer |
newMBeanServer(String domain)
返回一个新的对象实施的MBeanServer接口与指定的默认域名,而没有让内部参考这个新对象。
|
static void |
releaseMBeanServer(MBeanServer mbeanServer)
删除创建的MBeanServer内部mbeanserverfactory参考。
|
public static void releaseMBeanServer(MBeanServer mbeanServer)
mbeanServer
- MBeanServer对象去除。
IllegalArgumentException
-如果
mbeanServer
不一的
createMBeanServer
方法生成的,或者如果
releaseMBeanServer
已经呼吁它。
SecurityException
-如果有一个要和调用者的权限不包括或暗示
MBeanServerPermission
("releaseMBeanServer")
。
public static MBeanServer createMBeanServer()
返回一个新的对象与标准的默认域名实施MBeanServer接口。默认的域名作为域名的一部分在MBeans ObjectName当域是由用户指定的是无效的。
标准的默认域名是DefaultDomain
。
MBeanServer参考内部保持。这将允许findMBeanServer
返回参考这个MBeanServer对象。
这种方法相当于createMBeanServer(null)
。
SecurityException
-如果有一个要和调用者的权限不包括或暗示
MBeanServerPermission
("createMBeanServer")
。
JMRuntimeException
-如果属性
javax.management.builder.initial
存在但它的类的名称不能被实例化通过一个公共的无参数构造函数;或者如果实例化生成器返回null的
newMBeanServerDelegate
或
newMBeanServer
方法。
ClassCastException
-如果属性
javax.management.builder.initial
存在并且可以被实例化而不是赋值兼容
MBeanServerBuilder
。
public static MBeanServer createMBeanServer(String domain)
返回一个新的对象实施MBeanServer
接口与指定的默认域名。给定的域名作为域名的一部分在MBeans ObjectName当域是由用户指定的是无效的。
MBeanServer参考内部保持。这将允许findMBeanServer
返回参考这个MBeanServer对象。
domain
-创建的MBeanServer默认域名。这个值将被返回
MBeanServer.getDefaultDomain()
。
SecurityException
-如果有一个要和调用者的权限不包括或暗示
MBeanServerPermission
("createMBeanServer")
。
JMRuntimeException
-如果属性
javax.management.builder.initial
存在但它的类的名称不能被实例化通过一个公共的无参数构造函数;或者如果实例化生成器返回null的
newMBeanServerDelegate
或
newMBeanServer
方法。
ClassCastException
-如果属性
javax.management.builder.initial
存在并且可以被实例化而不是赋值兼容
MBeanServerBuilder
。
public static MBeanServer newMBeanServer()
返回一个新的对象与标准的默认域名实施MBeanServer接口,没有保持一个内部参考这个新对象。默认的域名作为域名的一部分在MBeans ObjectName当域是由用户指定的是无效的。
标准的默认域名是DefaultDomain
。
没有保存参考。findMBeanServer
将无法返回参考这个MBeanServer对象,但是垃圾收集器能够移除MBeanServer对象不再被引用时,它。
这种方法相当于newMBeanServer(null)
。
SecurityException
-如果有一个要和调用者的权限不包括或暗示
MBeanServerPermission
("newMBeanServer")
。
JMRuntimeException
-如果属性
javax.management.builder.initial
存在但它的类的名称不能被实例化通过一个公共的无参数构造函数;或者如果实例化生成器返回null的
newMBeanServerDelegate
或
newMBeanServer
方法。
ClassCastException
-如果属性
javax.management.builder.initial
存在并且可以被实例化而不是赋值兼容
MBeanServerBuilder
。
public static MBeanServer newMBeanServer(String domain)
返回一个新的对象实施的MBeanServer接口与指定的默认域名,而没有让内部参考这个新对象。给定的域名作为域名的一部分在MBeans ObjectName当域是由用户指定的是无效的。
没有保存参考。findMBeanServer
将无法返回参考这个MBeanServer对象,但是垃圾收集器能够移除MBeanServer对象不再被引用时,它。
domain
-创建的MBeanServer默认域名。这个值将被返回
MBeanServer.getDefaultDomain()
。
SecurityException
-如果有一个要和调用者的权限不包括或暗示
MBeanServerPermission
("newMBeanServer")
。
JMRuntimeException
-如果属性
javax.management.builder.initial
存在但它的类的名称不能被实例化通过一个公共的无参数构造函数;或者如果实例化生成器返回null的
newMBeanServerDelegate
或
newMBeanServer
方法。
ClassCastException
-如果属性
javax.management.builder.initial
存在并且可以被实例化而不是赋值兼容
MBeanServerBuilder
。
public static ArrayList<MBeanServer> findMBeanServer(String agentId)
返回一个列表注册MBeanServer对象。注册MBeanServer对象是由一个createMBeanServer
方法创建的而不是随后发布releaseMBeanServer
。
agentId
-代理标识符的MBeanServer检索。如果这个参数为空,返回所有注册mbeanservers这个JVM。否则,只返回mbeanservers的ID等于
agentId
。一个MBeanServer ID为其代表MBean的
MBeanServerId
属性。
SecurityException
-如果有一个要和调用者的权限不包括或暗示
MBeanServerPermission
("findMBeanServer")
。
public static ClassLoaderRepository getClassLoaderRepository(MBeanServer server)
server.getClassLoaderRepository()
。
server
MBeanServer。由于JMX 1.2,如果
server
是
null
,结果是一个
NullPointerException
。这种行为不同于实施1.1在JMX可能使用
null
被弃用。
SecurityException
-如果有一个要和调用者的权限不包括或暗示
MBeanPermission
("getClassLoaderRepository")
。
NullPointerException
-如果
server
是空的。
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.