| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.management.JMX
public class JMX
     JMX API 提供的静态方法。该类没有实例。
| 字段摘要 | |
|---|---|
| static String | DEFAULT_VALUE_FIELDdefaultValue字段的名称。 | 
| static String | IMMUTABLE_INFO_FIELDimmutableInfo字段的名称。 | 
| static String | INTERFACE_CLASS_NAME_FIELDinterfaceClassName字段的名称。 | 
| static String | LEGAL_VALUES_FIELDlegalValues字段的名称。 | 
| static String | MAX_VALUE_FIELDmaxValue字段的名称。 | 
| static String | MIN_VALUE_FIELDminValue字段的名称。 | 
| static String | MXBEAN_FIELDmxbean字段的名称。 | 
| static String | OPEN_TYPE_FIELDopenType字段的名称。 | 
| static String | ORIGINAL_TYPE_FIELDoriginalType字段的名称。 | 
| 方法摘要 | ||
|---|---|---|
| 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. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。