- java.lang.Object
-  
      - javax.management.MBeanServerFactory
 
-  
       
 public class MBeanServerFactory extends Object 提供MBean服务器引用。 没有这个类的实例。 从JMX 1.2开始,此类可以替换默认的MBeanServer实现。 这是使用 MBeanServerBuilder类完成的。 可以通过javax.management.builder.initial系统属性指定要实例化的初始MBeanServerBuilder的类。 指定的类必须是MBeanServerBuilder的公共子类,并且必须具有公共空构造函数。默认情况下,如果未指定该属性的值, 则会创建 javax.management.MBeanServerBuilder的实例。 否则,MBeanServerFactory将尝试使用Thread.currentThread().getContextClassLoader()加载指定的类,或者如果为null, 则为Class.forName()。 然后,它使用Class.newInstance()创建该类的初始实例。 如果任何检查的异常在此过程中提出的(如ClassNotFoundException,InstantiationException)的使用MBeanServerFactory将从一个RuntimeException内传播此异常。每次需要创建新的MBeanServer时,都会查询javax.management.builder.initial系统属性,并加载该属性指向的类。 如果该类与当前MBeanServerBuilder的类不同,则会创建新的MBeanServerBuilder。 否则,MBeanServerFactory可能会创建一个新的MBeanServerBuilder或重用当前的MBeanServerBuilder。 如果属性指向的类无法加载,或者不对应MBeanServerBuilder的有效子类,则会传播异常,并且在javax.management.builder.initial系统属性重置为有效值之前不能创建MBeanServer 。 MBeanServerBuilder可以包装默认MBeanServerBuilder实现返回的MBeanServers,以便例如添加额外的安全层。 - 从以下版本开始:
- 1.5
 
-  
        
       -  
             方法摘要所有方法 静态方法 具体的方法 变量和类型 方法 描述 static MBeanServercreateMBeanServer()返回一个实现MBeanServer接口的新对象,该接口具有标准的默认域名。static MBeanServercreateMBeanServer(String domain)返回使用指定的默认域名实现MBeanServer接口的新对象。static ArrayList<MBeanServer>findMBeanServer(String agentId)返回已注册的MBeanServer对象的列表。static ClassLoaderRepositorygetClassLoaderRepository(MBeanServer server)返回给定MBeanServer使用的ClassLoaderRepository。static MBeanServernewMBeanServer()返回实现具有标准默认域名的MBeanServer接口的新对象,而不保留对此新对象的内部引用。static MBeanServernewMBeanServer(String domain)返回一个实现具有指定默认域名的MBeanServer接口的新对象,而不保留对此新对象的内部引用。static voidreleaseMBeanServer(MBeanServer mbeanServer)删除对创建的MBeanServer的内部MBeanServerFactory引用。
 
-  
             
-  
        
       -  
             方法详细信息-  releaseMBeanServerpublic static void releaseMBeanServer(MBeanServer mbeanServer) 删除对创建的MBeanServer的内部MBeanServerFactory引用。 这允许垃圾收集器删除MBeanServer对象。- 参数
-  
              mbeanServer- 要删除的MBeanServer对象。
- 异常
-  
              IllegalArgumentException-如果mbeanServer不是由的一个产生createMBeanServer方法,或者如果releaseMBeanServer已经调用它。
-  
              SecurityException- 如果存在SecurityManager且调用方的权限不包含或暗示MBeanServerPermission("releaseMBeanServer")
 
 -  createMBeanServerpublic static MBeanServer createMBeanServer() 返回一个实现MBeanServer接口的新对象,该接口具有标准的默认域名。 当用户指定的域为null时,默认域名将用作MBean的ObjectName中的域部分。 标准默认域名为 DefaultDomain。MBeanServer引用在内部保留。 这将允许 findMBeanServer返回对此MBeanServer对象的引用。此方法相当于 createMBeanServer(null)。- 结果
- 新创建的MBeanServer。
- 异常
-  
              SecurityException- 如果存在SecurityManager且调用方的权限不包含或暗示MBeanServerPermission("createMBeanServer")
-  
              JMRuntimeException- 如果属性javax.management.builder.initial存在但其命名的类无法通过公共无参数构造函数实例化; 或者,如果实例化构建器从其newMBeanServerDelegate或newMBeanServer方法返回null。
-  
              ClassCastException- 如果属性javax.management.builder.initial存在且可以实例化但与MBeanServerBuilder不兼容。
 
 -  createMBeanServerpublic static MBeanServer createMBeanServer(String domain) 返回使用指定的默认域名实现 MBeanServer接口的新对象。 当用户指定的域为null时,给定的域名将用作MBean的ObjectName中的域部分。MBeanServer引用在内部保留。 这将允许 findMBeanServer返回对此MBeanServer对象的引用。- 参数
-  
              domain- 已创建的MBeanServer的默认域名。 这是MBeanServerConnection.getDefaultDomain()将返回的值 。
- 结果
- 新创建的MBeanServer。
- 异常
-  
              SecurityException- 如果存在SecurityManager且调用方的权限不包含或暗示MBeanServerPermission("createMBeanServer")
-  
              JMRuntimeException- 如果属性javax.management.builder.initial存在但其名称的类无法通过公共无参数构造函数实例化; 或者,如果实例化构建器从其newMBeanServerDelegate或newMBeanServer方法返回null。
-  
              ClassCastException- 如果属性javax.management.builder.initial存在且可以实例化但与MBeanServerBuilder不兼容。
 
 -  newMBeanServerpublic static MBeanServer newMBeanServer() 返回实现具有标准默认域名的MBeanServer接口的新对象,而不保留对此新对象的内部引用。 当用户指定的域为null时,默认域名将用作MBean的ObjectName中的域部分。 标准默认域名为 DefaultDomain。没有保留参考。 findMBeanServer将无法返回对此MBeanServer对象的引用,但垃圾收集器将能够在不再引用MBeanServer对象时将其删除。此方法相当于 newMBeanServer(null)。- 结果
- 新创建的MBeanServer。
- 异常
-  
              SecurityException- 如果存在SecurityManager且调用方的权限不包含或暗示MBeanServerPermission("newMBeanServer")
-  
              JMRuntimeException- 如果属性javax.management.builder.initial存在但其命名的类无法通过公共无参数构造函数实例化; 或者,如果实例化构建器从其newMBeanServerDelegate或newMBeanServer方法返回null。
-  
              ClassCastException- 如果属性javax.management.builder.initial存在且可以实例化但与MBeanServerBuilder不兼容。
 
 -  newMBeanServerpublic static MBeanServer newMBeanServer(String domain) 返回一个实现具有指定默认域名的MBeanServer接口的新对象,而不保留对此新对象的内部引用。 当用户指定的域为null时,给定的域名将用作MBean的ObjectName中的域部分。 没有保留参考。 findMBeanServer将无法返回对此MBeanServer对象的引用,但垃圾收集器将能够在不再引用MBeanServer对象时将其删除。- 参数
-  
              domain- 已创建的MBeanServer的默认域名。 这是MBeanServerConnection.getDefaultDomain()将返回的值 。
- 结果
- 新创建的MBeanServer。
- 异常
-  
              SecurityException- 如果存在SecurityManager且调用者的权限不包含或暗示MBeanServerPermission("newMBeanServer")
-  
              JMRuntimeException- 如果属性javax.management.builder.initial存在但其命名的类无法通过公共无参数构造函数实例化; 或者,如果实例化的构建器从其newMBeanServerDelegate或newMBeanServer方法返回null。
-  
              ClassCastException- 如果属性javax.management.builder.initial存在且可以实例化但与MBeanServerBuilder不兼容。
 
 -  findMBeanServerpublic static ArrayList<MBeanServer> findMBeanServer(String agentId) 返回已注册的MBeanServer对象的列表。 已注册的MBeanServer对象是由 createMBeanServer方法之一创建的对象,随后未随releaseMBeanServer一起releaseMBeanServer。- 参数
-  
              agentId- 要检索的MBeanServer的代理标识符。 如果此参数为null,则返回此JVM中的所有已注册MBeanServers。 否则,仅返回id等于agentIdMBeanServers。 MBeanServer的id是其委托MBean的MBeanServerId属性。
- 结果
- MBeanServer对象的列表。
- 异常
-  
              SecurityException- 如果存在SecurityManager且调用方的权限不包含或暗示MBeanServerPermission("findMBeanServer")
 
 -  getClassLoaderRepositorypublic static ClassLoaderRepository getClassLoaderRepository(MBeanServer server) 返回给定MBeanServer使用的ClassLoaderRepository。 此方法相当于server.getClassLoaderRepository()。- 参数
-  
              server- 正在检查的MBeanServer。 从JMX 1.2开始,如果server是null,则结果是NullPointerException。 此行为与JMX 1.1中实现的不同 - 不推荐使用null的可能性。
- 结果
- 给定MBeanServer使用的类加载器存储库。
- 异常
-  
              SecurityException- 如果存在SecurityManager且调用方的权限不包含或暗示MBeanPermission("getClassLoaderRepository")
-  
              NullPointerException- 如果server为空。
 
 
-  
 
-