ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8
compact3

パッケージ javax.management.monitor

モニター・クラスの定義を提供します。

参照: 説明

パッケージjavax.management.monitorの説明

モニター・クラスの定義を提供します。Monitorは、1つ以上のその他のMBeanに含まれる属性の値を定期的に観測するMBeanです。属性が特定の条件を満たす場合、MonitorはMonitorNotificationを発行します。モニターMBeanが監視中の属性の値を取得するためにgetAttributeを周期的に呼び出す場合、呼出し側Monitor.start()のアクセス制御コンテキスト内でこれを実行します。

監視する値は、複合型の内部に含まれた単純な値にすることができます。たとえば、java.lang.management内で定義されたMemoryMXBeanは、MemoryUsage型のHeapMemoryUsage属性を持ちます。MemoryUsageusedプロパティで示されるusedメモリーの量を監視するには、「HeapMemoryUsage.used」を監視します。この文字列が、setObservedAttributeの引数になります。

HeapMemoryUsage.used」などのObservedAttributeを解釈するための規則は、次のようになります。文字列がA.e (この例では、Aが「HeapMemoryUsage」、eが「used」)であるものとします。

最初に、属性Aの値が取得されます。これをvとします。次のようにして、vから値xが抽出されます。

3番目の規則について考えましょう。たとえば、属性HeapMemoryUsageMemoryUsageである場合、「HeapMemoryUsage.used」を監視すると、MemoryUsage.getUsed()が呼び出されて監視対象の値が取得されます。

ConnectionPool.connectionStats.length」のようにObservedAttributeに、複数のピリオドが含まれる場合、前述の規則が繰返し適用されます。ここで、vは初期状態では属性ConnectionPoolの値になります。xは、eと「connectionStats」を等価にして前述の規則を適用することで得られます。次に、vがこのxに設定されます。新しいxは、eと「length」を等価にして規則を再度適用することで得られます。

属性名は、有効なJava識別子にすることが推奨されていますが、HeapMemoryUsage.usedにすることも可能です。このため、ObservedAttributeHeapMemoryUsage.usedであるとすると、監視対象の値がその名前の属性である場合と、HeapMemoryUsageという名前の属性内部のusedプロパティである場合とが考えられます。互換性を維持するため、ObservedAttributeにピリオド(.)が含まれる場合、モニターは、名前が完全なObservedAttribute文字列(この例ではHeapMemoryUsage.used)である属性が存在するかどうかをチェックします。具体的には、監視対象のMBeanに対してgetMBeanInfoを呼び出し、中に含まれる指定した名前のMBeanAttributeInfoを検索します。検索しているものが見つかった場合、それが監視対象です。監視対象のMBeanが複数存在し、HeapMemoryUsage.used属性を保持するものと保持しないものがある場合、動作は未定義になります。このため、この場合、実装により、1つのMBeanに対してのみgetMBeanInfoが呼び出されることがあります。モニターがアクティブである間に検査結果が変更される場合にも、動作は未定義になります。

モニターの厳密な動作の詳細は、『JMX仕様』に記載されています。次に、概要を示します。

次の3種類のMonitorがあります。

導入されたバージョン:
1.5
関連項目:
JavaプラットフォームのJMXテクノロジに関するドキュメント、特に『JMX仕様、バージョン1.4』(pdf)
ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.