org.springframework.jmx.export.notification

## Interface NotificationPublisher

- All Known Implementing Classes:
    ModelMBeanNotificationPublisher

      public interface NotificationPublisher

  Simple interface allowing Spring-managed MBeans to publish JMX notifications without being aware of how those notifications are being transmitted to the `MBeanServer`.

  Managed resources can access a `NotificationPublisher` by implementing the `NotificationPublisherAware` interface. After a particular managed resource instance is registered with the `MBeanServer`, Spring will inject a `NotificationPublisher` instance into it if that resource implements the `NotificationPublisherAware` inteface.

  Each managed resource instance will have a distinct instance of a `NotificationPublisher` implementation. This instance will keep track of all the `NotificationListeners` registered for a particular mananaged resource.

  Any existing, user-defined MBeans should use standard JMX APIs for notification publication; this interface is intended for use only by Spring-created MBeans.

  Since:
    2.0
  Author:
    Rob Harrop
  See Also:
    `NotificationPublisherAware`, `MBeanExporter`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `sendNotification(Notification notification)` Send the specified `Notification` to all registered `NotificationListeners`.

- - ### Method Detail

    - #### sendNotification

          void sendNotification(Notification notification)
                         throws UnableToSendNotificationException

      Send the specified `Notification` to all registered `NotificationListeners`. Managed resources are not responsible for managing the list of registered `NotificationListeners`; that is performed automatically.
      Parameters:
        `notification` - the JMX Notification to send
      Throws:
        `UnableToSendNotificationException` - if sending failed