|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.lang.management.ManagementFactory
public class ManagementFactory
ManagementFactory 類別是一種處理器類別,用於獲取 Java 平臺的管理 Bean。此類別由靜態方法組成,每種靜態方法都會返回一個或多個表示 Java 虛擬機器元件的管理介面的平臺 MXBean。
應用程序可以採用以下方式存取平臺 MXBean:
newPlatfromMXBeanProxy
將方法調用轉發到給定的 MBeanServer
。建構代理通常是為了遠端存取另一個正在運行的虛擬機器的 MXBean。
平臺 MBeanServer
本地存取 MXBean 或通過特定的 MBeanServerConnection 遠端存取 MXBean。MXBean 的屬性和操作僅使用 JMX 開放型別,包括在 OpenType
中定義的基本資料型別 CompositeData
和 TabularData
。映射關係在下面指定。
平臺 MXBean 介面僅使用以下資料型別:
Integer
、Long
、Boolean
等等)和 String
Enum
類別CompositeData
參數的靜態 from 方法的類別,以便將輸入的 CompositeData 轉換為該類別的實例
List<E>
其中 E 為基本型別、包裹類別、列舉類別或支持從 CompositeData 轉換到此類別的類別
Map<K,V>
其中 K 和 V 為基本型別、包裹類別、列舉類別或支持從 CompositeData 轉換到此類別的類別
當通過 MBeanServer 存取平臺 MXBean 的屬性或操作時,將按以下方式對資料型別進行映射:
Enum
映射到 String(其值為列舉常數的名稱)。
CompositeData
參數的 from 方法的類別映射到 CompositeData
。
TabularData
,後者的行型別為 CompositeType
,此型別具有兩個項,其名稱分別為 "key" 和 "value",項型別分別為 K 和 V 對應的映射型別,"key" 為索引。
MBeanInfo
將屬性和操作的資料型別描述為上述指定要映射到的基本型別或開放型別。
例如,MemoryMXBean
介面具有以下獲取和設置方法:
MemoryMXBean 的 MBeanInfo 中的這些屬性的名稱和型別如下:public MemoryUsage getHeapMemoryUsage(); public boolean isVerbose(); public void setVerbose(boolean value);
屬性名稱 型別 HeapMemoryUsage CompositeData representing MemoryUsage
Verbose boolean
ObjectName
,以在平臺 MBeanServer 中註冊。Java 虛擬機器具有以下管理介面的單一實例:
Java 虛擬機器具有以下管理介面的零個或一個實例:
管理介面 物件名稱 CompilationMXBean
java.lang:type=Compilation
Java 虛擬機器可能具有以下管理介面的一個或多個實例。
管理介面 物件名稱 GarbageCollectorMXBean
java.lang:type=GarbageCollector
,name=collector's nameMemoryManagerMXBean
java.lang:type=MemoryManager
,name=manager's nameMemoryPoolMXBean
java.lang:type=MemoryPool
,name=pool's name
LoggingMXBean
,
MXBean
欄位摘要 | |
---|---|
static String |
CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean 的 ObjectName 的字元串表示形式。 |
static String |
COMPILATION_MXBEAN_NAME
CompilationMXBean 的 ObjectName 的字元串表示形式。 |
static String |
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
GarbageCollectorMXBean 的 ObjectName 中的域名和型別鍵屬性。 |
static String |
MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
MemoryManagerMXBean 的 ObjectName 中的域名和型別鍵屬性。 |
static String |
MEMORY_MXBEAN_NAME
MemoryMXBean 的 ObjectName 的字元串表示形式。 |
static String |
MEMORY_POOL_MXBEAN_DOMAIN_TYPE
MemoryPoolMXBean 的 ObjectName 中的域名和型別鍵屬性。 |
static String |
OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean 的 ObjectName 的字元串表示形式。 |
static String |
RUNTIME_MXBEAN_NAME
RuntimeMXBean 的 ObjectName 的字元串表示形式。 |
static String |
THREAD_MXBEAN_NAME
ThreadMXBean 的 ObjectName 的字元串表示形式。 |
方法摘要 | ||
---|---|---|
static ClassLoadingMXBean |
getClassLoadingMXBean()
返回 Java 虛擬機器的類別載入系統的管理 Bean。 |
|
static CompilationMXBean |
getCompilationMXBean()
返回 Java 虛擬機器的編譯系統的管理 Bean。 |
|
static List<GarbageCollectorMXBean> |
getGarbageCollectorMXBeans()
返回 Java 虛擬機器中的 GarbageCollectorMXBean 物件列表。 |
|
static List<MemoryManagerMXBean> |
getMemoryManagerMXBeans()
返回 Java 虛擬機器中的 MemoryManagerMXBean 物件列表。 |
|
static MemoryMXBean |
getMemoryMXBean()
返回 Java 虛擬機器的記憶體系統的管理 Bean。 |
|
static List<MemoryPoolMXBean> |
getMemoryPoolMXBeans()
返回 Java 虛擬機器中的 MemoryPoolMXBean 物件列表。 |
|
static OperatingSystemMXBean |
getOperatingSystemMXBean()
返回運行 Java 虛擬機器的作業系統的管理 Bean。 |
|
static MBeanServer |
getPlatformMBeanServer()
返回平臺 MBeanServer 。 |
|
static RuntimeMXBean |
getRuntimeMXBean()
返回 Java 虛擬機器的運行時系統的管理 Bean。 |
|
static ThreadMXBean |
getThreadMXBean()
返回 Java 虛擬機器的執行緒系統的管理 Bean。 |
|
static
|
newPlatformMXBeanProxy(MBeanServerConnection connection,
String mxbeanName,
Class<T> mxbeanInterface)
返回用於給定 MXBean 名稱的平臺 MXBean 介面的代理,以便通過給定 MBeanServerConnection 轉發其方法調用。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final String CLASS_LOADING_MXBEAN_NAME
ClassLoadingMXBean
的 ObjectName 的字元串表示形式。
public static final String COMPILATION_MXBEAN_NAME
CompilationMXBean
的 ObjectName 的字元串表示形式。
public static final String MEMORY_MXBEAN_NAME
MemoryMXBean
的 ObjectName 的字元串表示形式。
public static final String OPERATING_SYSTEM_MXBEAN_NAME
OperatingSystemMXBean
的 ObjectName 的字元串表示形式。
public static final String RUNTIME_MXBEAN_NAME
RuntimeMXBean
的 ObjectName 的字元串表示形式。
public static final String THREAD_MXBEAN_NAME
ThreadMXBean
的 ObjectName 的字元串表示形式。
public static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
GarbageCollectorMXBean
的 ObjectName 中的域名和型別鍵屬性。GarbageCollectorMXBean 的唯一 ObjectName 可以通過在此字元串後添加 ",name=collector's name" 形成。
public static final String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE
MemoryManagerMXBean
的 ObjectName 中的域名和型別鍵屬性。MemoryManagerMXBean 的唯一 ObjectName 可以通過在此字元串後添加 ",name=manager's name" 形成。
public static final String MEMORY_POOL_MXBEAN_DOMAIN_TYPE
MemoryPoolMXBean
的 ObjectName 中的域名和型別鍵屬性。MemoryPoolMXBean 的唯一 ObjectName 可以通過在此字元串後添加 ",name=pool's name" 形成。
方法詳細資訊 |
---|
public static ClassLoadingMXBean getClassLoadingMXBean()
ClassLoadingMXBean
物件。public static MemoryMXBean getMemoryMXBean()
MemoryMXBean
物件。public static ThreadMXBean getThreadMXBean()
ThreadMXBean
物件。public static RuntimeMXBean getRuntimeMXBean()
RuntimeMXBean
物件。public static CompilationMXBean getCompilationMXBean()
CompilationMXBean
物件,或者,如果 Java 虛擬機器沒有編譯系統,則返回 null。public static OperatingSystemMXBean getOperatingSystemMXBean()
OperatingSystemMXBean
物件。public static List<MemoryPoolMXBean> getMemoryPoolMXBeans()
MemoryPoolMXBean
物件列表。Java 虛擬機器可以有一個或多個記憶體池。可以在運行期間添加或刪除記憶體池。
public static List<MemoryManagerMXBean> getMemoryManagerMXBeans()
MemoryManagerMXBean
物件列表。Java 虛擬機器可以有一個或多個記憶體管理器。可以在運行期間添加或刪除記憶體管理器。
public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans()
GarbageCollectorMXBean
物件列表。Java 虛擬機器可以有一個或多個 GarbageCollectorMXBean 物件。可以在運行期間添加或刪除 GarbageCollectorMXBean。
public static MBeanServer getPlatformMBeanServer()
MBeanServer
。第一次調用此方法時,將首先通過調用 MBeanServerFactory.createMBeanServer
方法創建平臺 MBeanServer,然後通過使用類別描述中定義的 MXBean 名稱在此平臺 MBeanServer 中註冊平臺 MXBean。在後續的調用中,此方法將直接返回最初創建的平臺 MBeanServer。
動態創建和銷毀的 MXBean(如記憶體池
和管理器
)將自動註冊到平臺 MBeanServer 和從中註銷。
如果設置了系統屬性 javax.management.builder.initial,將由指定的 MBeanServerBuilder
進行平臺 MBeanServer 創建。
建議也將此平臺用於註冊平臺 MXBean 之外的其他應用程序管理 Bean。這將允許所有 MBean 通過同一個 MBeanServer 發佈,從而能夠更方便地進行網路發佈和發現。應該避免平臺 MXBean 的名稱衝突。
SecurityException
- 如果安全管理器和調用方不具有 MBeanServerFactory.createMBeanServer()
所需要的權限。MBeanServerFactory
,
MBeanServerFactory.createMBeanServer()
public static <T> T newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface) throws IOException
此方法等效於:
Proxy.newProxyInstance
(mxbeanInterface.getClassLoader(), new Class[] { mxbeanInterface }, handler)
其中 handler 是一個 InvocationHandler
,對 MXBean 介面的方法調用將排程到其上。此 handler 會在將 MXBean 資料型別的輸入參數轉發到 MBeanServer 之前將其轉換為其映射的開放型別,並將通過 MBeanServer 的 MXBean 方法調用的返回值由開放型別轉換為在 MXBean 介面中宣告的對應返回型別。
如果 MXBean 是通知發出者(即它實作了 NotificationEmitter
),則 mxbeanInterface 和 NotificationEmitter 都將由此代理實作。
註:
IOException
。如果使用代理遠端存取平臺 MXBean 的應用程序要存取 MBeanServerConnector 介面,則應該準備捕獲 IOException。InvalidObjectException
,當 MXBean 代理接收到一個列舉常數的名稱,而該名稱客戶端應用程序中載入的列舉類別又缺少此列舉常數時,將拋出此異常。MBeanServerInvocationHandler
或其 newProxyInstance
方法不能用於為平臺 MXBean 創建代理。MBeanServerInvocationHandler 創建的代理物件不會處理類別規範中描述的平臺 MXBean 的屬性。
connection
- 要轉發到的目標 MBeanServerConnection。mxbeanName
- 要轉發到的 connection 的平臺 MXBean。mxbeanName 的格式必須為 ObjectName
的格式。mxbeanInterface
- 要由代理實作的 MXBean 介面。
IllegalArgumentException
- 如果
ObjectName
格式,或者IOException
- 如果在存取 MBeanServerConnection 時出現通信問題。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。