Java Reference
In-Depth Information
You can specify an MBean server and a default domain name for this element through the
server
and
default-domain
attributes. However, you won't be able to set other MBean exporter properties such
as notification listener mappings. Whenever you have to set these properties, you need to declare an
AnnotationMBeanExporter
instance explicitly.
6-2. Publishing and Listening to JMX Notifications
Problem
You want to publish JMX notifications from your MBeans and listen to them with JMX notification
listeners.
Solution
Spring allows your beans to publish JMX notifications through the
NotificationPublisher interface
.
You can also register standard JMX notification listeners in the IoC container to listen to JMX
notifications.
How It Works
Publishing JMX Notifications
The Spring IoC container supports the beans that are going to be exported as MBeans to publish JMX
notifications. These beans must implement the
NotificationPublisherAware
interface (as you might
implement
ApplicationContextAware
to receive a reference to the current bean's containing
ApplicatonContext
instance) to get access to
NotificationPublisher
so that they can publish
notifications.
package com.apress.springenterpriserecipes.replicator;
...
import javax.management.Notification;
import org.springframework.jmx.export.notification.NotificationPublisher;
import org.springframework.jmx.export.notification.NotificationPublisherAware;
@ManagedResource(description = "File replicator")
public class FileReplicatorJMXImpl implements FileReplicator,
NotificationPublisherAware {
...
private int sequenceNumber;
private NotificationPublisher notificationPublisher;
public void setNotificationPublisher(
NotificationPublisher notificationPublisher) {
this.notificationPublisher = notificationPublisher;
}
Search WWH ::
Custom Search