java.lang.Object
javax.management.NotificationFilterSupport
- 所有已实现的接口:
-
Serializable
,NotificationFilter
- 直接已知的子类:
-
MBeanServerNotificationFilter
提供了
NotificationFilter
接口的实现。过滤是在通知类型属性上执行的。
管理已启用的通知类型列表。一个方法允许用户启用/禁用尽可能多的通知类型。
然后,在将通知发送到使用过滤器注册的侦听器之前,通知广播器将此通知类型与过滤器启用的所有通知类型进行比较。只有在其过滤器启用此通知类型时,通知才会发送到侦听器。
示例:
侦听器NotificationFilterSupport myFilter = new NotificationFilterSupport(); myFilter.enableType("my_example.my_type"); myBroadcaster.addListener(myListener, myFilter, null);
myListener
将只接收类型等于/以"my_example.my_type"开头的通知。
- 自版本:
- 1.5
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
禁用所有通知类型。void
disableType
(String prefix) 从前缀列表中移除给定的前缀。void
enableType
(String prefix) 启用所有以指定前缀开头的通知发送到侦听器。获取此过滤器的所有已启用通知类型。boolean
isNotificationEnabled
(Notification notification) 在将指定的通知发送到侦听器之前调用。
-
Constructor Details
-
NotificationFilterSupport
public NotificationFilterSupport()构造一个NotificationFilterSupport
。
-
-
Method Details
-
isNotificationEnabled
在将指定的通知发送到侦听器之前调用。
此过滤器将指定通知的类型与每个已启用类型进行比较。如果通知类型与已启用类型之一匹配,则应将通知发送到侦听器,并且此方法返回true
。- 指定者:
-
isNotificationEnabled
在接口NotificationFilter
- 参数:
-
notification
- 要发送的通知。 - 返回:
-
如果应将通知发送到侦听器,则为
true
,否则为false
。
-
enableType
启用所有以指定前缀开头的通知发送到侦听器。
如果指定的前缀已在已启用通知类型列表中,则此方法不起作用。示例:
// 启用所有以"my_example"开头的通知发送。 myFilter.enableType("my_example"); // 启用所有类型为"my_example.my_type"的通知发送。 myFilter.enableType("my_example.my_type");
myFilter.enableType("my_example.*");
- 参数:
-
prefix
- 前缀。 - 抛出:
-
IllegalArgumentException
- 前缀参数为null。
-
disableType
从前缀列表中移除给定的前缀。
如果指定的前缀不在已启用通知类型列表中,则此方法不起作用。- 参数:
-
prefix
- 前缀。
-
disableAllTypes
public void disableAllTypes()禁用所有通知类型。 -
getEnabledTypes
获取此过滤器的所有已启用通知类型。- 返回:
- 包含所有已启用通知类型的列表。
-