javax.slee.management
Class AlarmThresholdFilter
java.lang.Object
|
+--javax.slee.management.AlarmThresholdFilter
- All Implemented Interfaces:
- javax.management.NotificationFilter, java.io.Serializable
- public class AlarmThresholdFilter
- extends java.lang.Object
- implements javax.management.NotificationFilter
A notification filter that supresses equivalent AlarmNotification
s
until a specified number have occurred within a specified time period. Once
the threshold has been reached, the next equivalent alarm notification is allowed
through the filter, and the cycle restarts. The cycle also restarts if the time
period from the first notification expires without a notification being sent.
This filter can be used to suppress alarms that occur and then clear up spontaneously.
Formally: Given a series of duplicate alarm notifications, if
threshold + 1
notification are observed within period
milliseconds of the first notification, notification number threshold + 1
is delivered to notification listeners and counting restarts from notification
number threshold + 2
.
Alarm notification equivalence is tested using the AlarmNotification.equals(java.lang.Object)
method.
Notifications that are not instances of AlarmNotification
are suppressed
by this filter.
Note: This filter implementation does not use threads to clear stale timeouts.
Instead, stale timeouts are cleared on each invocation of isNotificationEnabled
. Methods in this class are also thread-safe.
- See Also:
- Serialized Form
Constructor Summary |
AlarmThresholdFilter(int threshold,
long period)
Create an AlarmThresholdFilter . |
Method Summary |
boolean |
isNotificationEnabled(javax.management.Notification notification)
Determine whether the specified notification should be delivered to notification
listeners using this notification filter. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AlarmThresholdFilter
public AlarmThresholdFilter(int threshold,
long period)
- Create an
AlarmThresholdFilter
.
- Parameters:
threshold
- the number of duplicate notifications that must occur within
the specified time period before the following duplicate notification
is delivered to notification listeners.period
- the period (measured in ms) during which duplicate alarm
notifications within the threshold number will be discarded.
isNotificationEnabled
public boolean isNotificationEnabled(javax.management.Notification notification)
- Determine whether the specified notification should be delivered to notification
listeners using this notification filter.
- Specified by:
isNotificationEnabled
in interface javax.management.NotificationFilter
- Parameters:
notification
- the notification to be sent.- Returns:
true
if the notification should be delivered to notification
listeners, false
otherwise. This method always returns
false
if notification
is not an instance of
AlarmNotification
.