JavaTM Platform
Standard Ed. 6

javax.management
类 JMX

java.lang.Object
  继承者 javax.management.JMX

public class JMX
     
extends Object

JMX API 提供的静态方法。该类没有实例。

从以下版本开始:
1.6

字段摘要
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
<T> T
newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass)
          在本地或远程 MBean Server 中为 Standard MBean 构造一个代理。
static
<T> T
newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass, boolean notificationBroadcaster)
          在同样支持 NotificationEmitter 方法的本地或远程 MBean Server 中为 Standard MBean 构造一个代理。
static
<T> T
newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, Class<T> interfaceClass)
          在本地或远程 MBean Server 中为 MXBean 构造一个代理。
static
<T> T
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
 

字段详细信息

DEFAULT_VALUE_FIELD

public static final String DEFAULT_VALUE_FIELD
defaultValue 字段的名称。

另请参见:
常量字段值

IMMUTABLE_INFO_FIELD

public static final String IMMUTABLE_INFO_FIELD
immutableInfo 字段的名称。

另请参见:
常量字段值

INTERFACE_CLASS_NAME_FIELD

public static final String INTERFACE_CLASS_NAME_FIELD
interfaceClassName 字段的名称。

另请参见:
常量字段值

LEGAL_VALUES_FIELD

public static final String LEGAL_VALUES_FIELD
legalValues 字段的名称。

另请参见:
常量字段值

MAX_VALUE_FIELD

public static final String MAX_VALUE_FIELD
maxValue 字段的名称。

另请参见:
常量字段值

MIN_VALUE_FIELD

public static final String MIN_VALUE_FIELD
minValue 字段的名称。

另请参见:
常量字段值

MXBEAN_FIELD

public static final String MXBEAN_FIELD
mxbean 字段的名称。

另请参见:
常量字段值

OPEN_TYPE_FIELD

public static final String OPEN_TYPE_FIELD
openType 字段的名称。

另请参见:
常量字段值

ORIGINAL_TYPE_FIELD

public static final String ORIGINAL_TYPE_FIELD
originalType 字段的名称。

另请参见:
常量字段值
方法详细信息

newMBeanProxy

public static <T> T newMBeanProxy(MBeanServerConnection connection,
                                  ObjectName objectName,
                                  Class<T> interfaceClass)

在本地或远程 MBean Server 中为 Standard MBean 构造一个代理。

如果 MBean 服务器 mbs 包含 ObjectNamename 的 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);
 }
 

那么可以执行:

此方法返回的对象是一个其 InvocationHandlerMBeanServerInvocationHandlerProxy

此方法等效于 newMBeanProxy(connection, objectName, interfaceClass, false)

类型参数:
T - 让编译器知道如果 interfaceClass 参数为 MyMBean.class,则返回类型为 MyMBean
参数:
connection - 作为转发目的地的目标 MBean 服务器。
objectName - 作为转发目的地的 connection 中的 MBean 名。
interfaceClass - MBean 输出的管理接口,也由返回的代理来实现。
返回:
新的代理实例。

newMBeanProxy

public static <T> T newMBeanProxy(MBeanServerConnection connection,
                                  ObjectName objectName,
                                  Class<T> interfaceClass,
                                  boolean notificationBroadcaster)

在同样支持 NotificationEmitter 方法的本地或远程 MBean Server 中为 Standard MBean 构造一个代理。

此方法的行为与 newMBeanProxy(MBeanServerConnection, ObjectName, Class) 相同,但除此以外,如果 notificationBroadcastertrue,则假定 MBean 为 NotificationBroadcasterNotificationEmitter,并且返回的代理将实现 NotificationEmitterinterfaceClass。在该代理上调用 NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) 将导致对 MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 的调用,对于 NotificationBroadcasterNotificationEmitter 的其他方法也是如此。

类型参数:
T - 让编译器知道如果 interfaceClass 参数为 MyMBean.class,则返回类型为 MyMBean
参数:
connection - 作为转发目的地的目标 MBean 服务器。
objectName - 作为转发目的地的 connection 中的 MBean 名。
interfaceClass - MBean 输出的管理接口,也由返回的代理来实现。
notificationBroadcaster - 使返回的代理实现 NotificationEmitter,方法是通过 connection 转发其方法。
返回:
新的代理实例。

newMXBeanProxy

public static <T> T newMXBeanProxy(MBeanServerConnection connection,
                                   ObjectName objectName,
                                   Class<T> interfaceClass)

在本地或远程 MBean Server 中为 MXBean 构造一个代理。

如果 MBean 服务器 mbs 包含 ObjectNamename 的 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);
 }
 

那么:

此方法返回的对象是一个 InvocationHandlerMBeanServerInvocationHandlerProxy

此方法等效于 newMXBeanProxy(connection, objectName, interfaceClass, false)

类型参数:
T - 让编译器知道如果 interfaceClass 参数为 MyMXBean.class,则返回类型为 MyMXBean
参数:
connection - 作为转发目的地的目标 MBean 服务器。
objectName - 作为转发目的地的 connection 中的 MBean 名。
interfaceClass - MXBean 接口,也由返回的代理来实现。
返回:
新的代理实例。

newMXBeanProxy

public static <T> T newMXBeanProxy(MBeanServerConnection connection,
                                   ObjectName objectName,
                                   Class<T> interfaceClass,
                                   boolean notificationBroadcaster)

在同样支持 NotificationEmitter 方法的本地或远程 MBean Server 中为 MXBean 构造一个代理。

此方法的行为与 newMXBeanProxy(MBeanServerConnection, ObjectName, Class) 相同,但除此以外,如果 notificationBroadcastertrue,则假定 MXBean 为 NotificationBroadcasterNotificationEmitter,并且返回的代理将实现 NotificationEmitterinterfaceClass。在该代理上调用 NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) 将导致对 MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 的调用,对于 NotificationBroadcasterNotificationEmitter 的其他方法也是如此。

类型参数:
T - 让编译器知道如果 interfaceClass 参数为 MyMXBean.class,则返回类型为 MyMXBean
参数:
connection - 作为转发目的地的目标 MBean 服务器。
objectName - 作为转发目的地的 connection 中的 MBean 名。
interfaceClass - MXBean 接口,也由返回的代理来实现。
notificationBroadcaster - 使返回的代理实现 NotificationEmitter,方法是通过 connection 转发它的方法。
返回:
新的代理实例。

isMXBeanInterface

public static boolean isMXBeanInterface(Class<?> interfaceClass)

测试某接口是否是 MXBean 接口。如果接口为已注释的 @MXBean@MXBean(true),或者接口没有 @MXBean 注释且其名称以 "MXBean" 结尾,则该接口为 MXBean 接口。

参数:
interfaceClass - 侯选接口。
返回:
如果 interfaceClass 是一个接口且满足所描述的条件,则返回 true。
抛出:
NullPointerException - 如果 interfaceClass 为 null。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策