Package org.springframework.jmx.export.notification

# Interface NotificationPublisher

All Known Implementing Classes:
  `ModelMBeanNotificationPublisher`

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface 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` interface.

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 managed 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

Modifier and Type
Method
Description
`void`
`sendNotification(Notification notification)`
Send the specified `Notification` to all registered `NotificationListeners`.

## Method Details

### 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