StringMonitor (Java Platform SE 8 )
Keywords: javax.management.monitor.StringMonitor class
Date: 2026-04-17

compact3
javax.management.monitor

## Class StringMonitor

- java.lang.Object
- - javax.management.NotificationBroadcasterSupport
  - - javax.management.monitor.Monitor
    - - javax.management.monitor.StringMonitor

- All Implemented Interfaces:
    MBeanRegistration, MonitorMBean, StringMonitorMBean, NotificationBroadcaster, NotificationEmitter

      public class StringMonitor
      extends Monitor
      implements StringMonitorMBean

  Defines a monitor MBean designed to observe the values of a string attribute.

  A string monitor sends notifications as follows:

  - if the attribute value matches the string to compare value, a `match notification` is sent. The notify match flag must be set to `true`.
    Subsequent matchings of the string to compare values do not cause further notifications unless the attribute value differs from the string to compare value.
  - if the attribute value differs from the string to compare value, a `differ notification` is sent. The notify differ flag must be set to `true`.
    Subsequent differences from the string to compare value do not cause further notifications unless the attribute value matches the string to compare value.
  Since:
    1.5

- - ### Field Summary

    - ### Fields inherited from class javax.management.monitor.Monitor

      `alreadyNotified, alreadyNotifieds, capacityIncrement, dbgTag, elementCount, OBSERVED_ATTRIBUTE_ERROR_NOTIFIED, OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED, OBSERVED_OBJECT_ERROR_NOTIFIED, RESET_FLAGS_ALREADY_NOTIFIED, RUNTIME_ERROR_NOTIFIED, server`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StringMonitor()` Default constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getDerivedGauge()` Deprecated. As of JMX 1.2, replaced by `getDerivedGauge(ObjectName)`
    `String` | `getDerivedGauge(ObjectName object)` Gets the derived gauge of the specified object, if this object is contained in the set of observed MBeans, or `null` otherwise.
    `long` | `getDerivedGaugeTimeStamp()` Deprecated. As of JMX 1.2, replaced by `getDerivedGaugeTimeStamp(ObjectName)`
    `long` | `getDerivedGaugeTimeStamp(ObjectName object)` Gets the derived gauge timestamp of the specified object, if this object is contained in the set of observed MBeans, or `0` otherwise.
    `MBeanNotificationInfo[]` | `getNotificationInfo()` Returns a `NotificationInfo` object containing the name of the Java class of the notification and the notification types sent by the string monitor.
    `boolean` | `getNotifyDiffer()` Gets the differing notification's on/off switch value common to all observed MBeans.
    `boolean` | `getNotifyMatch()` Gets the matching notification's on/off switch value common to all observed MBeans.
    `String` | `getStringToCompare()` Gets the string to compare with the observed attribute common to all observed MBeans.
    `void` | `setNotifyDiffer(boolean value)` Sets the differing notification's on/off switch value common to all observed MBeans.
    `void` | `setNotifyMatch(boolean value)` Sets the matching notification's on/off switch value common to all observed MBeans.
    `void` | `setStringToCompare(String value)` Sets the string to compare with the observed attribute common to all observed MBeans.
    `void` | `start()` Starts the string monitor.
    `void` | `stop()` Stops the string monitor.

    - ### Methods inherited from class javax.management.monitor.Monitor

      `addObservedObject, containsObservedObject, getGranularityPeriod, getObservedAttribute, getObservedObject, getObservedObjects, isActive, postDeregister, postRegister, preDeregister, preRegister, removeObservedObject, setGranularityPeriod, setObservedAttribute, setObservedObject`

    - ### Methods inherited from class javax.management.NotificationBroadcasterSupport

      `addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.management.monitor.MonitorMBean

      `addObservedObject, containsObservedObject, getGranularityPeriod, getObservedAttribute, getObservedObject, getObservedObjects, isActive, removeObservedObject, setGranularityPeriod, setObservedAttribute, setObservedObject`

- - ### Constructor Detail

    - #### StringMonitor

          public StringMonitor()

      Default constructor.

  - ### Method Detail

    - #### start

          public void start()

      Starts the string monitor.
      Specified by:
        `start` in interface `MonitorMBean`
      Specified by:
        `start` in class `Monitor`

    - #### stop

          public void stop()

      Stops the string monitor.
      Specified by:
        `stop` in interface `MonitorMBean`
      Specified by:
        `stop` in class `Monitor`

    - #### getDerivedGauge

          public String getDerivedGauge(ObjectName object)

      Gets the derived gauge of the specified object, if this object is contained in the set of observed MBeans, or `null` otherwise.
      Specified by:
        `getDerivedGauge` in interface `StringMonitorMBean`
      Parameters:
        `object` - the name of the MBean whose derived gauge is required.
      Returns:
        The derived gauge of the specified object.

    - #### getDerivedGaugeTimeStamp

          public long getDerivedGaugeTimeStamp(ObjectName object)

      Gets the derived gauge timestamp of the specified object, if this object is contained in the set of observed MBeans, or `0` otherwise.
      Specified by:
        `getDerivedGaugeTimeStamp` in interface `StringMonitorMBean`
      Parameters:
        `object` - the name of the object whose derived gauge timestamp is to be returned.
      Returns:
        The derived gauge timestamp of the specified object.

    - #### getDerivedGauge

          @Deprecated
          public String getDerivedGauge()

      Deprecated. As of JMX 1.2, replaced by `getDerivedGauge(ObjectName)`
      Returns the derived gauge of the first object in the set of observed MBeans.
      Specified by:
        `getDerivedGauge` in interface `StringMonitorMBean`
      Returns:
        The derived gauge.

    - #### getDerivedGaugeTimeStamp

          @Deprecated
          public long getDerivedGaugeTimeStamp()

      Deprecated. As of JMX 1.2, replaced by `getDerivedGaugeTimeStamp(ObjectName)`
      Gets the derived gauge timestamp of the first object in the set of observed MBeans.
      Specified by:
        `getDerivedGaugeTimeStamp` in interface `StringMonitorMBean`
      Returns:
        The derived gauge timestamp.

    - #### getStringToCompare

          public String getStringToCompare()

      Gets the string to compare with the observed attribute common to all observed MBeans.
      Specified by:
        `getStringToCompare` in interface `StringMonitorMBean`
      Returns:
        The string value.
      See Also:
        `setStringToCompare(java.lang.String)`

    - #### setStringToCompare

          public void setStringToCompare(String value)
                                  throws IllegalArgumentException

      Sets the string to compare with the observed attribute common to all observed MBeans.
      Specified by:
        `setStringToCompare` in interface `StringMonitorMBean`
      Parameters:
        `value` - The string value.
      Throws:
        `IllegalArgumentException` - The specified string to compare is null.
      See Also:
        `getStringToCompare()`

    - #### getNotifyMatch

          public boolean getNotifyMatch()

      Gets the matching notification's on/off switch value common to all observed MBeans.
      Specified by:
        `getNotifyMatch` in interface `StringMonitorMBean`
      Returns:
        `true` if the string monitor notifies when matching the string to compare, `false` otherwise.
      See Also:
        `setNotifyMatch(boolean)`

    - #### setNotifyMatch

          public void setNotifyMatch(boolean value)

      Sets the matching notification's on/off switch value common to all observed MBeans.
      Specified by:
        `setNotifyMatch` in interface `StringMonitorMBean`
      Parameters:
        `value` - The matching notification's on/off switch value.
      See Also:
        `getNotifyMatch()`

    - #### getNotifyDiffer

          public boolean getNotifyDiffer()

      Gets the differing notification's on/off switch value common to all observed MBeans.
      Specified by:
        `getNotifyDiffer` in interface `StringMonitorMBean`
      Returns:
        `true` if the string monitor notifies when differing from the string to compare, `false` otherwise.
      See Also:
        `setNotifyDiffer(boolean)`

    - #### setNotifyDiffer

          public void setNotifyDiffer(boolean value)

      Sets the differing notification's on/off switch value common to all observed MBeans.
      Specified by:
        `setNotifyDiffer` in interface `StringMonitorMBean`
      Parameters:
        `value` - The differing notification's on/off switch value.
      See Also:
        `getNotifyDiffer()`

    - #### getNotificationInfo

          public MBeanNotificationInfo[] getNotificationInfo()

      Returns a `NotificationInfo` object containing the name of the Java class of the notification and the notification types sent by the string monitor.
      Specified by:
        `getNotificationInfo` in interface `NotificationBroadcaster`
      Overrides:
        `getNotificationInfo` in class `NotificationBroadcasterSupport`
      Returns:
        the array of possible notifications.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.