-
Interface Summary Interface Description CounterMonitorMBean Exposes the remote management interface of the counter monitor MBean.GaugeMonitorMBean Exposes the remote management interface of the gauge monitor MBean.MonitorMBean Exposes the remote management interface of monitor MBeans.StringMonitorMBean Exposes the remote management interface of the string monitor MBean. -
Class Summary Class Description CounterMonitor Defines a monitor MBean designed to observe the values of a counter attribute.GaugeMonitor Defines a monitor MBean designed to observe the values of a gauge attribute.Monitor Defines the part common to all monitor MBeans.MonitorNotification Provides definitions of the notifications sent by monitor MBeans.StringMonitor Defines a monitor MBean designed to observe the values of a string attribute. -
Exception Summary Exception Description MonitorSettingException Exception thrown by the monitor when a monitor setting becomes invalid while the monitor is running.
Package javax.management.monitor Description
Provides the definition of the monitor classes. A Monitor is
an MBean that periodically observes the value of an attribute in
one or more other MBeans. If the attribute meets a certain
condition, the Monitor emits a MonitorNotification
. When the monitor MBean periodically calls
getAttribute
to retrieve the value of the attribute being monitored it does
so within the access control context of the
Monitor.start()
caller.
The value being monitored can be a simple value
contained within a complex type. For example, the MemoryMXBean
defined in
java.lang.management has an attribute
HeapMemoryUsage of type MemoryUsage
. To monitor the
amount of used memory, described by the used
property of MemoryUsage, you could monitor
"HeapMemoryUsage.used". That string would be the
argument to setObservedAttribute
.
The rules used to interpret an ObservedAttribute like "HeapMemoryUsage.used" are as follows. Suppose the string is A.e (so A would be "HeapMemoryUsage" and e would be "used" in the example).
First the value of the attribute A is obtained. Call it v. A value x is extracted from v as follows:
- If v is a
CompositeData
and if v.get
(e) returns a value then x is that value. - If v is an array and e is the string "length" then x is the length of the array.
- If the above rules do not produce a value, and if
Introspector.getBeanInfo
for the class of v (v.getClass()) contains aPropertyDescriptor
with the name e, then x is the result of calling the property'sread method
on v.
The third rule means for example that if the attribute HeapMemoryUsage is a MemoryUsage, monitoring "HeapMemoryUsage.used" will obtain the observed value by calling MemoryUsage.getUsed().
If the ObservedAttribute contains more than one period, for example "ConnectionPool.connectionStats.length", then the above rules are applied iteratively. Here, v would initially be the value of the attribute ConnectionPool, and x would be derived by applying the above rules with e equal to "connectionStats". Then v would be set to this x and a new x derived by applying the rules again with e equal to "length".
Although it is recommended that attribute names be valid Java
identifiers, it is possible for an attribute to be called
HeapMemoryUsage.used. This means that an
ObservedAttribute that is HeapMemoryUsage.used
could mean that the value to observe is either an attribute of that
name, or the property used within an attribute called
HeapMemoryUsage. So for compatibility reasons, when the
ObservedAttribute contains a period (.), the monitor
will check whether an attribute exists whose name is the full
ObservedAttribute string (HeapMemoryUsage.used in the
example). It does this by calling getMBeanInfo
for the observed MBean and looking for a contained MBeanAttributeInfo
with the given
name. If one is found, then that is what is monitored. If more than one
MBean is being observed, the behavior is unspecified if some of them have
a HeapMemoryUsage.used attribute and others do not. An
implementation may therefore call getMBeanInfo on just one of
the MBeans in this case. The behavior is also unspecified if the result
of the check changes while the monitor is active.
The exact behavior of monitors is detailed in the JMX Specification. What follows is a summary.
There are three kinds of Monitors:
-
A
CounterMonitor
observes attributes of integer type. The attributes are assumed to be non-negative, and monotonically increasing except for a possible roll-over at a specified modulus. Each observed attribute has an associated threshold value. A notification is sent when the attribute exceeds its threshold.An offset value can be specified. When an observed value exceeds its threshold, the threshold is incremented by the offset, or by a multiple of the offset sufficient to make the threshold greater than the new observed value.
A
CounterMonitor
can operate in difference mode. In this mode, the value compared against the threshold is the difference between two successive observations of an attribute. -
A
GaugeMonitor
observes attributes of numerical type. Each observed attribute has an associated high threshold and low threshold.When an observed attribute crosses the high threshold, if the notify high flag is true, then a notification is sent. Subsequent crossings of the high threshold value will not trigger further notifications until the gauge value becomes less than or equal to the low threshold.
When an observed attribute crosses the low threshold, if the notify low flag is true, then a notification is sent. Subsequent crossings of the low threshold value will not trigger further notifications until the gauge value becomes greater than or equal to the high threshold.
Typically, only one of the notify high and notify low flags is set. The other threshold is used to provide a hysteresis mechanism to avoid the repeated triggering of notifications when an attribute makes small oscillations around the threshold value.
A
GaugeMonitor
can operate in difference mode. In this mode, the value compared against the high and low thresholds is the difference between two successive observations of an attribute. -
A
StringMonitor
observes attributes of typeString
. A notification is sent when an observed attribute becomes equal and/or not equal to a given string.
- Since:
- 1.5
- See Also:
- Java Platform documentation on JMX technology, in particular the JMX Specification, version 1.4(pdf).
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-javax/management/monitor/package-summary.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.