|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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 类名。如果包含的ObjectName
是n
,则所包含的 Java 类名是
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 包装在试图调用 MBean 的构造方法时所出现的java.lang.ClassNotFoundException
或
。java.lang.Exception
-
InstanceAlreadyExistsException
- 如果该 MBean 已经处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- 如果 MBean 的preRegister
(MBeanRegistration
接口)方法已经抛出异常。不注册该 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 类名。如果包含的ObjectName
是n
,则所包含的 Java 类名是
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 包装在试图调用 MBean 的构造方法时所出现的java.lang.ClassNotFoundException
或java.lang.Exception
。 -
InstanceAlreadyExistsException
- 如果该 MBean 已经处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- 如果 MBean 的preRegister
(MBeanRegistration
接口)方法已经抛出异常。不注册该 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 类名。如果包含的ObjectName
是n
,则所包含的 Java 类名是
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 包装在试图调用 MBean 的构造方法时所出现的java.lang.ClassNotFoundException
或java.lang.Exception
。 -
InstanceAlreadyExistsException
- 如果该 MBean 已经处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- 如果 MBean 的preRegister
(MBeanRegistration
接口)方法已经抛出异常。不注册该 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 类名。如果包含的ObjectName
是n
,则所包含的 Java 类名是
。getMBeanInfo(n)
.getClassName() - 抛出:
-
ReflectionException
- 包装在试图调用 MBean 的构造方法时所出现的java.lang.ClassNotFoundException
或java.lang.Exception
。 -
InstanceAlreadyExistsException
- 如果该 MBean 已经处于 MBean 服务器的控制之下。 -
MBeanRegistrationException
- 如果 MBean 的preRegister
(MBeanRegistration
接口)方法已经抛出异常。不注册该 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
。包含的ObjectName
是name
, 且所包含的类名是
。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 服务器通信时出现通信问题。