package example;
import java.util.logging.Logger;
import javax.management.NotificationListener;
import javax.management.Notification;
/**
* Implements an MBean event listener.
*/
public class Listener implements NotificationListener, ListenerMBean {
private static final Logger log =
Logger.getLogger(Listener.class.getName());
/**
* Count of the notifications received.
*/
private int _notificationCount;
/**
* Returns the count of notifications received.
*/
public int getNotificationCount()
{
return _notificationCount;
}
/**
* Handles the notification.
*
* @param notif the notification sent by the event's MBean
* @param handback an opaque object configured when the listener
* was configured.
*/
public void handleNotification(Notification notif, Object handback)
{
_notificationCount++;
if (handback != null)
log.info("notification(type=" + notif.getType() + ",handback=" + handback + ")");
else
log.info("notification(type=" + notif.getType() + ")");
}
/**
* Returns a printable version of the resource.
*/
public String toString()
{
return "Listener[" + _notificationCount + "]";
}
}