JavaTM 2 Platform
Standard Ed. 6

軟體套件 javax.management.monitor

提供 monitor 類別的定義。

請參見:
          描述

介面摘要
CounterMonitorMBean 公開計數器監視器 MBean 的遠端管理介面。
GaugeMonitorMBean 公開尺度監視器 MBean 的遠端管理介面。
MonitorMBean 公開監視器 MBean 的遠端管理介面。
StringMonitorMBean 公開字元串監視器 MBean 的遠端管理介面。
 

類別摘要
CounterMonitor 定義專門用來觀察計數器屬性值的監視器 MBean。
GaugeMonitor 定義專門用來觀察尺度屬性值的監視器 MBean。
Monitor 定義所有監視器 MBean 的公共部分。
MonitorNotification 提供對監視器 MBean 發送的通知的定義。
StringMonitor 定義設計用於觀察字元串屬性值的監視器 MBean。
 

異常摘要
MonitorSettingException 當監視器設置在運行監視器期間變得無效時由該監視器拋出的異常。
 

軟體套件 javax.management.monitor 的描述

提供 monitor 類別的定義。Monitor 是一個 MBeans,它定期觀察一個或多個其他 MBeans 中的屬性值。如果某個屬性滿足特定的條件,則 Monitor 將發出一個 MonitorNotification。當監視器 MBean 定期調用 getAttribute 檢索被監視的屬性值時,它在 Monitor.start() 調用者的存取控制上下文中執行該操作。

被監視的值可以是一個套件含在復合型別中的簡單值。例如,java.lang.management 中定義的 MemoryMXBean 具有一個型別為 MemoryUsageHeapMemoryUsage 屬性。要監視已用 記憶體量(由 MemoryUsageused 屬性描述),您可以監視 "HeapMemoryUsage.used"。該字元串應該做為 setObservedAttribute 的參數。

用來解釋 "HeapMemoryUsage.used" 之類別的 ObservedAttribute 的規則如下。假設字元串為 A.e(因此在該例中 A"HeapMemoryUsage"e"used")。

首先獲得屬性 A 的值。稱之為 v。按以下方式從 v 中提取值 x

第三個規則意味著,如果屬性 HeapMemoryUsageMemoryUsage,則監視 "HeapMemoryUsage.used" 將獲得調用 MemoryUsage.getUsed() 觀察到的值。

如果 ObservedAttribute 套件含一個以上的句號 ("."),例如 "ConnectionPool.connectionStats.length",則迭代地應用上述規則。其中 v 最初是屬性 ConnectionPool 的值,x 是在 e 等於 "connectionStats" 的情況下應用上述規則導出的。然後 v 將被設置為此 x,並將在 e 等於 "length" 的情況下導出一個新的 x

建議使用有效的 Java 標識符作為屬性名稱,但將屬性取名為 HeapMemoryUsage.used 也是可能的。這意味著作為 HeapMemoryUsage.usedObservedAttribute 表示要觀察的值可能是該名稱的屬性,也可能是一個名為 HeapMemoryUsage 的屬性內部的屬性 used。故出於相容性原因,當 ObservedAttribute 套件含一個句號 (.) 時,監視器將檢查是否存在一個名稱為完整 ObservedAttribute 字元串(範例中的 HeapMemoryUsage.used)的屬性。它實作這一點的方式如下:對被觀察的 MBean 調用 getMBeanInfo,並使用給定名稱查詢被包含的 MBeanAttributeInfo。如果能找到,則它就是被監視的內容。如果正觀察多個 MBean,且其中一些有 HeapMemoryUsage.used 屬性而另一些卻沒有時,行為是不確定的。在這種情況下,一個實作可能因此只對其中一個 MBean 調用 getMBeanInfo。如果在監視器啟動的情況下檢查的結果發生更改,則行為也是不確定的。

JMX 規範》中詳細敘述了監視器的具體行為。下面是有關的概觀。

共有三種監視器:

從以下版本開始:
1.5
另請參見:
Java SE 6 Platform documentation on JMX technology, 特別是 JMX Specification, version 1.4(pdf)。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only