/**
* Sets up event listeners for this MBean as described in the descriptor.
* The descriptor contains a map with layout {item -> Map[event:"...", from:ObjectName, callback:&Closure],...,}
*
* @param server the MBeanServer is to be registered.
* @param descriptor a map containing info about the event
*/
public void addEventListeners(MBeanServer server, Map<String, Map<String, Object>> descriptor) {
for (Map.Entry<String, Map<String, Object>> item : descriptor.entrySet()) {
Map<String, Object> listener = item.getValue();
// register with server
ObjectName broadcaster = (ObjectName) listener.get("from");
try {
String eventType = (String) listener.get("event");
if (eventType != null) {
NotificationFilterSupport filter = new NotificationFilterSupport();
filter.enableType(eventType);
server.addNotificationListener(broadcaster, JmxEventListener.getListener(), filter, listener);
} else {
server.addNotificationListener(broadcaster, JmxEventListener.getListener(), null, listener);
}
} catch (InstanceNotFoundException e) {
throw new JmxBuilderException(e);
}
}
}
JmxBuilderModelMBean.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:groovy
作者:
评论列表
文章目录