我正在浏览Spring
上的JMX
documentation并看到以下段落:
By configuring NotificationListeners in place, every time a JMX Notification is broadcast
from the target MBean (bean:name=testBean1),the ConsoleLoggingNotificationListener bean
that was registered as a listener via the notificationListenerMappings property will be
notified.
这就是ConsoleLoggingNotificationListener
的实施方式:
public class ConsoleLoggingNotificationListener
implements NotificationListener, NotificationFilter {
public void handleNotification(Notification notification, Object handback) {
System.out.println(notification);
System.out.println(handback);
}
public boolean isNotificationEnabled(Notification notification) {
return AttributeChangeNotification.class.isAssignableFrom(notification.getClass());
}
}
但是,既然我是新手,我想知道什么时候播出JMX Notification
?是否JMX暴露属性的值已更改?
请帮助我知道这一点。
谢谢!
答案 0 :(得分:0)
我想这个问题与Spring本身无关。如果我理解正确,则此处的通知为javax.management.Notification
objects。
我还没看过,但乍一看this article似乎以相当广泛的方式涵盖了这个话题。
而且,正如您所看到的,属性更改是广播通知时的事件之一。
答案 1 :(得分:0)
也许有点太晚了..但是由于这个问题没有被接受的答案我会发布我的答案。
Spring文档也说:
Spring的JMX通知发布支持中的关键接口是NotificationPublisher接口(在org.springframework.jmx.export.notification包中定义)。任何将通过MBeanExporter实例导出为MBean的bean都可以实现相关的NotificationPublisherAware接口以获取对NotificationPublisher实例的访问权。
您正在寻找的答案在上面摘录的最后一句