|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。