|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.management.JMX
public class JMX
JMX API 提供的静态方法。该类没有实例。
| 字段摘要 | |
|---|---|
static String |
DEFAULT_VALUE_FIELD
defaultValue 字段的名称。 |
static String |
IMMUTABLE_INFO_FIELD
immutableInfo 字段的名称。 |
static String |
INTERFACE_CLASS_NAME_FIELD
interfaceClassName 字段的名称。 |
static String |
LEGAL_VALUES_FIELD
legalValues 字段的名称。 |
static String |
MAX_VALUE_FIELD
maxValue 字段的名称。 |
static String |
MIN_VALUE_FIELD
minValue 字段的名称。 |
static String |
MXBEAN_FIELD
mxbean 字段的名称。 |
static String |
OPEN_TYPE_FIELD
openType 字段的名称。 |
static String |
ORIGINAL_TYPE_FIELD
originalType 字段的名称。 |
| 方法摘要 | ||
|---|---|---|
static boolean |
isMXBeanInterface(Class<?> interfaceClass)
测试某接口是否是 MXBean 接口。 |
|
static
|
newMBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass)
在本地或远程 MBean Server 中为 Standard MBean 构造一个代理。 |
|
static
|
newMBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass,
boolean notificationBroadcaster)
在同样支持 NotificationEmitter 方法的本地或远程 MBean Server 中为 Standard MBean 构造一个代理。 |
|
static
|
newMXBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass)
在本地或远程 MBean Server 中为 MXBean 构造一个代理。 |
|
static
|
newMXBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass,
boolean notificationBroadcaster)
在同样支持 NotificationEmitter 方法的本地或远程 MBean Server 中为 MXBean 构造一个代理。 |
|
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 字段详细信息 |
|---|
public static final String DEFAULT_VALUE_FIELD
defaultValue 字段的名称。
public static final String IMMUTABLE_INFO_FIELD
immutableInfo 字段的名称。
public static final String INTERFACE_CLASS_NAME_FIELD
interfaceClassName 字段的名称。
public static final String LEGAL_VALUES_FIELD
legalValues 字段的名称。
public static final String MAX_VALUE_FIELD
maxValue 字段的名称。
public static final String MIN_VALUE_FIELD
minValue 字段的名称。
public static final String MXBEAN_FIELD
mxbean 字段的名称。
public static final String OPEN_TYPE_FIELD
openType 字段的名称。
public static final String ORIGINAL_TYPE_FIELD
originalType 字段的名称。
| 方法详细信息 |
|---|
public static <T> T newMBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass)
在本地或远程 MBean Server 中为 Standard MBean 构造一个代理。
如果 MBean 服务器 mbs 包含 ObjectName 为 name 的 MBean,并且如果该 MBean 的管理接口由 Java 接口 MyMBean 描述,则可以像下面这样为该 MBean 构造一个代理:
MyMBean proxy = JMX.newMBeanProxy(mbs, name, MyMBean.class);
例如,假定 MyMBean 如下所示:
public interface MyMBean {
public String getSomeAttribute();
public void setSomeAttribute(String value);
public void someOperation(String param1, int param2);
}
那么可以执行:
mbs.getAttribute(name, "SomeAttribute") 的 proxy.getSomeAttribute()。
mbs.setAttribute(name, new Attribute("SomeAttribute", "whatever")) 的 proxy.setSomeAttribute("whatever")。
mbs.invoke(name, "someOperation", <etc>) 的调用的 proxy.someOperation("param1", 2)。
此方法返回的对象是一个其 InvocationHandler 为 MBeanServerInvocationHandler 的 Proxy。
此方法等效于 newMBeanProxy(connection, objectName, interfaceClass, false)。
T - 让编译器知道如果 interfaceClass 参数为 MyMBean.class,则返回类型为 MyMBean。connection - 作为转发目的地的目标 MBean 服务器。objectName - 作为转发目的地的 connection 中的 MBean 名。interfaceClass - MBean 输出的管理接口,也由返回的代理来实现。
public static <T> T newMBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass,
boolean notificationBroadcaster)
在同样支持 NotificationEmitter 方法的本地或远程 MBean Server 中为 Standard MBean 构造一个代理。
此方法的行为与 newMBeanProxy(MBeanServerConnection, ObjectName, Class) 相同,但除此以外,如果 notificationBroadcaster 为 true,则假定 MBean 为 NotificationBroadcaster 或 NotificationEmitter,并且返回的代理将实现 NotificationEmitter 和 interfaceClass。在该代理上调用 NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) 将导致对 MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 的调用,对于 NotificationBroadcaster 和 NotificationEmitter 的其他方法也是如此。
T - 让编译器知道如果 interfaceClass 参数为 MyMBean.class,则返回类型为 MyMBean。connection - 作为转发目的地的目标 MBean 服务器。objectName - 作为转发目的地的 connection 中的 MBean 名。interfaceClass - MBean 输出的管理接口,也由返回的代理来实现。notificationBroadcaster - 使返回的代理实现 NotificationEmitter,方法是通过 connection 转发其方法。
public static <T> T newMXBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass)
在本地或远程 MBean Server 中为 MXBean 构造一个代理。
如果 MBean 服务器 mbs 包含 ObjectName 为 name 的 MXBean,并且如果该 MXBean 的管理接口由 Java 接口 MyMXBean 所描述,则可以像下面这样为该 MXBean 构造一个代理:
MyMXBean proxy = JMX.newMXBeanProxy(mbs, name, MyMXBean.class);
例如,假定 MyMXBean 如下所示:
public interface MyMXBean {
public String getSimpleAttribute();
public void setSimpleAttribute(String value);
public MemoryUsage getMappedAttribute();
public void setMappedAttribute(MemoryUsage memoryUsage);
public MemoryUsage someOperation(String param1, MemoryUsage param2);
}
那么:
proxy.getSimpleAttribute() 将导致调用 mbs.getAttribute(name, "SimpleAttribute")。
proxy.setSimpleAttribute("whatever") 将导致调用 mbs.setAttribute(name, new Attribute("SimpleAttribute", "whatever"))。
因为 String 是一个简单类型(即 SimpleType),所以不会在 MXBean 的上下文中更改它。MXBean 代理的行为与属性 SimpleAttribute 的 Standard MBean 代理(请参阅 newMBeanProxy)的行为相同。
proxy.getMappedAttribute() 将导致调用 mbs.getAttribute("MappedAttribute")。MXBean 映射规则意味着属性 MappedAttribute 的实际类型将是 CompositeData,并且这是 mbs.getAttribute 调用将返回的内容。该代理然后会使用 MXBean 映射规则将 CompositeData 转换回所期望类型的 MemoryUsage。
类似地,proxy.setMappedAttribute(memoryUsage) 将在调用 mbs.setAttribute 之前将 MemoryUsage 参数转换为 CompositeData。
proxy.someOperation("whatever", memoryUsage) 将 MemoryUsage 参数转换为 CompositeData 并调用 mbs.invoke。mbs.invoke 返回的值也将是 CompositeData,并且代理会使用 MXBean 映射规则将此值转换为所期望类型的 MemoryUsage。
此方法返回的对象是一个 InvocationHandler 为 MBeanServerInvocationHandler 的 Proxy。
此方法等效于 newMXBeanProxy(connection, objectName, interfaceClass, false)。
T - 让编译器知道如果 interfaceClass 参数为 MyMXBean.class,则返回类型为 MyMXBean。connection - 作为转发目的地的目标 MBean 服务器。objectName - 作为转发目的地的 connection 中的 MBean 名。interfaceClass - MXBean 接口,也由返回的代理来实现。
public static <T> T newMXBeanProxy(MBeanServerConnection connection,
ObjectName objectName,
Class<T> interfaceClass,
boolean notificationBroadcaster)
在同样支持 NotificationEmitter 方法的本地或远程 MBean Server 中为 MXBean 构造一个代理。
此方法的行为与 newMXBeanProxy(MBeanServerConnection, ObjectName, Class) 相同,但除此以外,如果 notificationBroadcaster 为 true,则假定 MXBean 为 NotificationBroadcaster 或 NotificationEmitter,并且返回的代理将实现 NotificationEmitter 和 interfaceClass。在该代理上调用 NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) 将导致对 MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 的调用,对于 NotificationBroadcaster 和 NotificationEmitter 的其他方法也是如此。
T - 让编译器知道如果 interfaceClass 参数为 MyMXBean.class,则返回类型为 MyMXBean。connection - 作为转发目的地的目标 MBean 服务器。objectName - 作为转发目的地的 connection 中的 MBean 名。interfaceClass - MXBean 接口,也由返回的代理来实现。notificationBroadcaster - 使返回的代理实现 NotificationEmitter,方法是通过 connection 转发它的方法。
public static boolean isMXBeanInterface(Class<?> interfaceClass)
测试某接口是否是 MXBean 接口。如果接口为已注释的 @MXBean 或 @MXBean(true),或者接口没有 @MXBean 注释且其名称以 "MXBean" 结尾,则该接口为 MXBean 接口。
interfaceClass - 侯选接口。
interfaceClass 是一个接口且满足所描述的条件,则返回 true。
NullPointerException - 如果 interfaceClass 为 null。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。