所有类


javax.management
接口 MBeanServerConnection

所有已知子接口:
MBeanServer, MBeanServerForwarder

public interface MBeanServerConnection

此接口表示了与 MBean 服务器(无论是本地的还是远程的)进行通信的一种方式。表示本地 MBean 服务器的 MBeanServer 接口扩展了此接口。

从以下版本开始:
1.5

方法摘要
 void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
          向已注册的 MBean 添加一个侦听器。
 void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
          向已注册的 MBean 添加一个侦听器。
 ObjectInstance createMBean(String className, ObjectName name)
          在 MBean 服务器中实例化并注册一个 MBean。
 ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature)
          在 MBean 服务器中实例化并注册一个 MBean。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName)
          在 MBean 服务器中实例化并注册一个 MBean。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)
          在 MBean 服务器中实例化并注册一个 MBean。
 Object getAttribute(ObjectName name, String attribute)
          获得指定 MBean 的特定属性值。
 AttributeList getAttributes(ObjectName name, String[] attributes)
          获得指定 MBean 的多个属性值。
 String getDefaultDomain()
          返回对 MBean 命名时使用的默认域。
 String[] getDomains()
          返回其中所有 MBean 当前已注册的域的列表。
 Integer getMBeanCount()
          返回 MBean 服务器中已注册的 MBean 数目。
 MBeanInfo getMBeanInfo(ObjectName name)
          此方法发现了 MBean 为管理而公开的属性和操作。
 ObjectInstance getObjectInstance(ObjectName name)
          获得向 MBean 服务器注册的给定 MBean 的 ObjectInstance
 Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)
          在 MBean 上调用某个操作。
 boolean isInstanceOf(ObjectName name, String className)
          如果指定的 MBean 是指定类的一个实例,则返回 true;否则返回 false。
 boolean isRegistered(ObjectName name)
          检查某个 MBean(通过其对象名标识)是否已向 MBean 服务器注册。
 Set queryMBeans(ObjectName name, QueryExp query)
          获得该 MBean 服务器所控制的 MBean。
 Set queryNames(ObjectName name, QueryExp query)
          获得该 MBean 服务器所控制的 MBean 的名称。
 void removeNotificationListener(ObjectName name, NotificationListener listener)
          从已注册的 MBean 中移除一个侦听器。
 void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
          从已注册的 MBean 中移除一个侦听器。
 void removeNotificationListener(ObjectName name, ObjectName listener)
          从已注册的 MBean 中移除一个侦听器。
 void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
          从已注册的 MBean 中移除一个侦听器。
 void setAttribute(ObjectName name, Attribute attribute)
          设置指定 MBean 的特定属性值。
 AttributeList setAttributes(ObjectName name, AttributeList attributes)
          设置指定 MBean 的多个属性值。
 void unregisterMBean(ObjectName name)
          从 MBean 服务器中注销一个 MBean。
 

方法详细信息

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException

在 MBean 服务器中实例化并注册一个 MBean。MBean 服务器将使用其默认的 Loader Repository 来加载 MBean 的类。对象名与该 MBean 相关联。如果给定的对象名为 null,则该 MBean 必须提供自己的名称,方法是实现 MBeanRegistration 接口并从 preRegister 方法中返回名称。

此方法等效于 createMBean(className, name, (Object[]) null, (String[]) null)

参数:
className - 要实例化的 MBean 的类名。
name - 该 MBean 的对象名。可以为 null。
返回:
一个 ObjectInstance,包含新实例化的 MBean 的 ObjectName 和 Java 类名。如果包含的 ObjectNamen,则所包含的 Java 类名是 getMBeanInfo(n).getClassName()
抛出:
ReflectionException - 包装在试图调用 MBean 的构造方法时所出现的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果该 MBean 已经处于 MBean 服务器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 接口)方法已经抛出异常。不注册该 MBean。
MBeanException - 如果 MBean 的构造方法已经抛出异常
NotCompliantMBeanException - 如果此类不是符合 JMX 的 MBean
RuntimeOperationsException - 包装 java.lang.IllegalArgumentException:如果传入参数中的 className 为 null,传入参数中的 ObjectName 包含一个模式或者没有为该 MBean 指定 ObjectName
IOException - 如果与 MBean 服务器通信时出现通信问题。

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException

在 MBean 服务器中实例化并注册一个 MBean。通过其对象名标识使用的类加载器。对象名与该 MBean 相关联。如果加载器的对象名为 null,则将使用加载 MBean 服务器的 ClassLoader。如果给定的 MBean 对象名为 null,则该 MBean 必须提供自己的名称,方法是实现 MBeanRegistration 接口并从 preRegister 方法中返回名称。

此方法等效于 createMBean(className, name, loaderName, (Object[]) null, (String[]) null)

参数:
className - 要实例化的 MBean 的类名。
name - 该 MBean 的对象名。可以为 null。
loaderName - 要使用的类加载器的对象名。
返回:
一个 ObjectInstance,包含新实例化的 MBean 的 ObjectName 和 Java 类名。如果包含的 ObjectNamen,则所包含的 Java 类名是 getMBeanInfo(n).getClassName()
抛出:
ReflectionException - 包装在试图调用 MBean 的构造方法时所出现的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果该 MBean 已经处于 MBean 服务器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 接口)方法已经抛出异常。不注册该 MBean。
MBeanException - 如果 MBean 的构造方法已经抛出异常
NotCompliantMBeanException - 如果此类不是符合 JMX 的 MBean
InstanceNotFoundException - 如果未在 MBean 服务器中注册指定的类加载器。
RuntimeOperationsException - 包装 java.lang.IllegalArgumentException:如果传入参数中的 className 为 null,传入参数中的 ObjectName 包含一个模式或者没有为该 MBean 指定 ObjectName
IOException - 如果与 MBean 服务器通信时出现通信问题。

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           Object[] params,
                           String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException
在 MBean 服务器中实例化并注册一个 MBean。MBean 服务器将使用其默认的 Loader Repository 来加载 MBean 的类。对象名与该 MBean 相关联。如果给定的对象名为 null,则该 MBean 必须提供自己的名称,方法是实现 MBeanRegistration 接口并从 preRegister 方法中返回名称。

参数:
className - 要实例化的 MBean 的类名。
name - 该 MBean 的对象名。可以为 null。
params - 一个数组,包含要调用的构造方法的参数。
signature - 一个数组,包含要调用的构造方法的签名。
返回:
一个 ObjectInstance,包含新实例化的 MBean 的 ObjectName 和 Java 类名。如果包含的 ObjectNamen,则所包含的 Java 类名是 getMBeanInfo(n).getClassName()
抛出:
ReflectionException - 包装在试图调用 MBean 的构造方法时所出现的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果该 MBean 已经处于 MBean 服务器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 接口)方法已经抛出异常。不注册该 MBean。
MBeanException - 如果 MBean 的构造方法已经抛出异常
NotCompliantMBeanException - 如果此类不是符合 JMX 的 MBean
RuntimeOperationsException - 包装 java.lang.IllegalArgumentException:如果传入参数中的 className 为 null,传入参数中的 ObjectName 包含一个模式或者没有为该 MBean 指定 ObjectName
IOException - 如果与 MBean 服务器通信时出现通信问题。

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName,
                           Object[] params,
                           String[] signature)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException
在 MBean 服务器中实例化并注册一个 MBean。通过其对象名标识使用的类加载器。对象名与该 MBean 相关联。如果未指定加载器的对象名,则将使用加载 MBean 服务器的 ClassLoader。如果给定的 MBean 对象名为 null,则该 MBean 必须提供自己的名称,方法是实现 MBeanRegistration 接口并从 preRegister 方法中返回名称。

参数:
className - 要实例化的 MBean 的类名。
name - 该 MBean 的对象名。可以为 null。
params - 一个数组,包含要调用的构造方法的参数。
signature - 一个数组,包含要调用的构造方法的签名。
loaderName - 要使用的类加载器的对象名。
返回:
一个 ObjectInstance,包含新实例化的 MBean 的 ObjectName 和 Java 类名。如果包含的 ObjectNamen,则所包含的 Java 类名是 getMBeanInfo(n).getClassName()
抛出:
ReflectionException - 包装在试图调用 MBean 的构造方法时所出现的 java.lang.ClassNotFoundExceptionjava.lang.Exception
InstanceAlreadyExistsException - 如果该 MBean 已经处于 MBean 服务器的控制之下。
MBeanRegistrationException - 如果 MBean 的 preRegisterMBeanRegistration 接口)方法已经抛出异常。不注册该 MBean。
MBeanException - 如果 MBean 的构造方法已经抛出异常
NotCompliantMBeanException - 如果此类不是符合 JMX 的 MBean
InstanceNotFoundException - 如果未在 MBean 服务器中注册指定的类加载器。
RuntimeOperationsException - 包装 java.lang.IllegalArgumentException:如果传入参数中的 className 为 null,传入参数中的 ObjectName 包含一个模式或者没有为该 MBean 指定 ObjectName
IOException - 如果与 MBean 服务器通信时出现通信问题。

unregisterMBean

void unregisterMBean(ObjectName name)
                     throws InstanceNotFoundException,
                            MBeanRegistrationException,
                            IOException
从 MBean 服务器中注销一个 MBean。通过 MBean 的对象名来标识 MBean。一旦调用了该方法,就无法再通过 MBean 的对象名来访问该 MBean。

参数:
name - 要注销的 MBean 的对象名。
抛出:
InstanceNotFoundException - 如果指定的 MBean 未在该 MBean 服务器中注册。
MBeanRegistrationException - 如果 MBean 的 preDeregister(MBeanRegistration 接口)方法已经抛出异常。
RuntimeOperationsException - 包装 java.lang.IllegalArgumentException:如果参数中的对象名为 null,或者试图注销的 MBean 是 MBeanServerDelegate MBean。
IOException - 如果与 MBean 服务器通信时出现通信问题。

getObjectInstance

ObjectInstance getObjectInstance(ObjectName name)
                                 throws InstanceNotFoundException,
                                        IOException
获得向 MBean 服务器注册的给定 MBean 的 ObjectInstance

参数:
name - MBean 的对象名。
返回:
name 所指定的 MBean 相关联的 ObjectInstance。包含的 ObjectNamename, 且所包含的类名是 getMBeanInfo(name).getClassName()
抛出:
InstanceNotFoundException - 如果指定的 MBean 未在该 MBean 服务器中注册。
IOException - 如果与 MBean 服务器通信时出现通信问题。

queryMBeans

Set queryMBeans(ObjectName name,
                QueryExp query)
                throws IOException
获得该 MBean 服务器所控制的 MBean。此方法允许获得下列任意内容:所有 MBean、由与 ObjectName 和/或 Query 表达式相匹配的模式所指定的一组 MBean、一个特定的 MBean。当对象名为 null 并且未指定域和键属性时,会选中所有对象(如果指定了查询,则进行过滤)。它返回已选中 MBean 的 ObjectInstance 对象集(包含 ObjectName 和 Java 类名)

参数:
name - 对象名模式,标识要检索的 MBean。如果为 null 或未指定域和键属性,则检索所有已注册的 MBean。
query - 应用到所选 MBean 的查询表达式。如果为 null,则不对所选的 MBean 应用查询表达式。
返回:
包含所选的 MBean 的 ObjectInstance 对象的集合。如果没有满足该查询的 MBean,则返回一个空列表。
抛出:
IOException - 如果与 MBean 服务器通信时出现通信问题。

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部