|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.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。