|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
請參見:
描述
介面摘要 | |
---|---|
CounterMonitorMBean | 公開計數器監視器 MBean 的遠端管理介面。 |
GaugeMonitorMBean | 公開尺度監視器 MBean 的遠端管理介面。 |
MonitorMBean | 公開監視器 MBean 的遠端管理介面。 |
StringMonitorMBean | 公開字元串監視器 MBean 的遠端管理介面。 |
類別摘要 | |
---|---|
CounterMonitor | 定義專門用來觀察計數器屬性值的監視器 MBean。 |
GaugeMonitor | 定義專門用來觀察尺度屬性值的監視器 MBean。 |
Monitor | 定義所有監視器 MBean 的公共部分。 |
MonitorNotification | 提供對監視器 MBean 發送的通知的定義。 |
StringMonitor | 定義設計用於觀察字元串屬性值的監視器 MBean。 |
異常摘要 | |
---|---|
MonitorSettingException | 當監視器設置在運行監視器期間變得無效時由該監視器拋出的異常。 |
提供 monitor 類別的定義。Monitor 是一個 MBeans,它定期觀察一個或多個其他 MBeans 中的屬性值。如果某個屬性滿足特定的條件,則 Monitor 將發出一個 MonitorNotification
。當監視器 MBean 定期調用 getAttribute
檢索被監視的屬性值時,它在 Monitor.start()
調用者的存取控制上下文中執行該操作。
被監視的值可以是一個套件含在復合型別中的簡單值。例如,java.lang.management 中定義的 MemoryMXBean
具有一個型別為 MemoryUsage
的 HeapMemoryUsage 屬性。要監視已用 記憶體量(由 MemoryUsage 的 used 屬性描述),您可以監視 "HeapMemoryUsage.used"。該字元串應該做為 setObservedAttribute
的參數。
用來解釋 "HeapMemoryUsage.used" 之類別的 ObservedAttribute 的規則如下。假設字元串為 A.e(因此在該例中 A 為 "HeapMemoryUsage",e 為 "used")。
首先獲得屬性 A 的值。稱之為 v。按以下方式從 v 中提取值 x:
CompositeData
且 v.get
(e) 返回一個值,則 x 就是返回的那個值。Introspector.getBeanInfo
套件含一個具有名稱 e 的 PropertyDescriptor
,則 x 為對 v 調用屬性讀取方法
的結果。第三個規則意味著,如果屬性 HeapMemoryUsage 為 MemoryUsage,則監視 "HeapMemoryUsage.used" 將獲得調用 MemoryUsage.getUsed() 觀察到的值。
如果 ObservedAttribute 套件含一個以上的句號 ("."),例如 "ConnectionPool.connectionStats.length",則迭代地應用上述規則。其中 v 最初是屬性 ConnectionPool 的值,x 是在 e 等於 "connectionStats" 的情況下應用上述規則導出的。然後 v 將被設置為此 x,並將在 e 等於 "length" 的情況下導出一個新的 x。
建議使用有效的 Java 標識符作為屬性名稱,但將屬性取名為 HeapMemoryUsage.used 也是可能的。這意味著作為 HeapMemoryUsage.used 的 ObservedAttribute 表示要觀察的值可能是該名稱的屬性,也可能是一個名為 HeapMemoryUsage 的屬性內部的屬性 used。故出於相容性原因,當 ObservedAttribute 套件含一個句號 (.) 時,監視器將檢查是否存在一個名稱為完整 ObservedAttribute 字元串(範例中的 HeapMemoryUsage.used)的屬性。它實作這一點的方式如下:對被觀察的 MBean 調用 getMBeanInfo
,並使用給定名稱查詢被包含的 MBeanAttributeInfo
。如果能找到,則它就是被監視的內容。如果正觀察多個 MBean,且其中一些有 HeapMemoryUsage.used 屬性而另一些卻沒有時,行為是不確定的。在這種情況下,一個實作可能因此只對其中一個 MBean 調用 getMBeanInfo。如果在監視器啟動的情況下檢查的結果發生更改,則行為也是不確定的。
《JMX 規範》中詳細敘述了監視器的具體行為。下面是有關的概觀。
共有三種監視器:
CounterMonitor
觀察整數型別的屬性。假定這些屬性為非負數,並且單調遞增(以指定的模 進行的可能回滾 除外)。每個 observed 屬性都具有相關的閾值。當屬性超過其閾值時將發出一個通知。
可以指定一個偏移量 值。當被觀察值超過其閾值時,該閾值應按偏移量遞增,或者按偏移量的倍數遞增,以使其閾值足大於新的被觀察值。
CounterMonitor
可以在不同的網要 下操作。在本網要中,與閾值比較所得的值就是對屬性的兩次連續觀察值之間的差分。
GaugeMonitor
觀察數字型別的屬性。每個被觀察屬性都具有相關的高閾值 和低閾值。
當 observed 屬性超過高閾值時,如果 notify high 標記為 true,則發送一個通知。在尺度值變得小於或等於低閾值之前,後續的超出高閾值的情況不會觸發更多的通知。
當 observed 屬性低於低閾值時,如果 notify low 標記為 true,則發送一個通知。在尺度值變得小於或等於高閾值之前,後續的超出低閾值的情況不會觸發更多的通知。
一般情況下,僅設置 notify high 和 notify low 標誌中的一個。使用其他閾值來提供滯後 機制,以避免屬性值在閾值附近進行小幅度擺動時重複觸發通知。
GaugeMonitor
可以在不同的網要 操作。在本網要中,與高、低閾值相比得出的值就是對屬性的兩次連續觀察值之間的差分。
StringMonitor
觀察型別為 String
的屬性。當 observed 屬性變得等於和/或不等於指定的字元串時,將發出一個通知。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。