NotificationService instead.@Deprecated public interface NotificationService extends BindingAwareService
Two styles of listeners are supported:
{ModelName}Listener interface,
which has dispatch methods for each defined notification. Methods are invoked based on notification type (class).
A generic listener implements the NotificationListener interface which has one callback method
onNotification that is invoked for any notification type the listener is subscribed to.
A generic listener is subscribed using the registerNotificationListener(Class, NotificationListener)
method by which you specify the type of notification to receive. A generic listener may be registered for
multiple notification types via multiple subscriptions.
Generic listeners allow for a more flexible approach, allowing you to subscribe for just one type of notification from a YANG model. You could also have a general subscription for all notification in the system via
service.registerNotificationListener(Notification.class, listener);
A dispatch listener implements a YANG-generated module interface {ModuleName}Listener
which handles all the notifications defined in the YANG model. Each notification type translates to
a specific method of the form on{NotificationType} on the generated interface.
The generated interface also extends the
NotificationListener interface and implementations
are registered using
registerNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener) method.
Lets assume we have following YANG model:
module example {
...
notification start {
...
}
notification stop {
...
}
}
The generated interface will be:
public interface ExampleListener extends NotificationListener {
void onStart(Start notification);
void onStop(Stop notification);
}
The following defines an implementation of the generated interface:
public class MyExampleListener implements ExampleListener {
public void onStart(Start notification) {
// do something
}
public void onStop(Stop notification) {
// do something
}
}
The implementation is registered as follows:
MyExampleListener listener = new MyExampleListener();
ListenerRegistration<NotificationListener> reg = service.registerNotificationListener( listener );
The onStart method will be invoked when someone publishes a Start notification and
the onStop method will be invoked when someone publishes a Stop notification.
| Modifier and Type | Method and Description |
|---|---|
<T extends org.opendaylight.yangtools.yang.binding.Notification> |
registerNotificationListener(Class<T> notificationType,
NotificationListener<T> listener)
Deprecated.
Registers a generic listener implementation for a specified notification type.
|
org.opendaylight.yangtools.concepts.ListenerRegistration<org.opendaylight.yangtools.yang.binding.NotificationListener> |
registerNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener listener)
Deprecated.
Registers a listener which implements a YANG-generated notification interface derived from
NotificationListener. |
<T extends org.opendaylight.yangtools.yang.binding.Notification> org.opendaylight.yangtools.concepts.ListenerRegistration<NotificationListener<T>> registerNotificationListener(Class<T> notificationType, NotificationListener<T> listener)
notificationType - the YANG-generated interface of the notification type.listener - the listener implementation that will receive notifications.ListenerRegistration instance that should be used to unregister the listener
by invoking the ListenerRegistration.close() method when no longer needed.org.opendaylight.yangtools.concepts.ListenerRegistration<org.opendaylight.yangtools.yang.binding.NotificationListener> registerNotificationListener(org.opendaylight.yangtools.yang.binding.NotificationListener listener)
NotificationListener.
The listener is registered for all notifications present in the implemented interface.listener - the listener implementation that will receive notifications.ListenerRegistration instance that should be used to unregister the listener
by invoking the ListenerRegistration.close() method when no longer needed.Copyright © 2019 OpenDaylight. All rights reserved.