X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fbroker%2FDOMNotificationRouterEvent.java;h=8743fc90d72f038853794a20eb414b7c1a370f81;hb=91749a5a5fb089e74306f288d786acb8d3c450ae;hp=6eafd0696fc126235f48c9960f133db865992452;hpb=2208a3c2e30ced288ecd0d4e86f97a1056400221;p=mdsal.git diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouterEvent.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouterEvent.java index 6eafd0696f..8743fc90d7 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouterEvent.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouterEvent.java @@ -15,7 +15,7 @@ import com.lmax.disruptor.EventFactory; import java.util.Collection; import org.opendaylight.mdsal.dom.api.DOMNotification; import org.opendaylight.mdsal.dom.api.DOMNotificationListener; -import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.concepts.AbstractListenerRegistration; /** * A single notification event in the disruptor ringbuffer. These objects are reused, @@ -24,7 +24,7 @@ import org.opendaylight.yangtools.concepts.ListenerRegistration; final class DOMNotificationRouterEvent { static final EventFactory FACTORY = DOMNotificationRouterEvent::new; - private Collection> subscribers; + private Collection> subscribers; private DOMNotification notification; private SettableFuture future; @@ -34,7 +34,7 @@ final class DOMNotificationRouterEvent { @SuppressWarnings("checkstyle:hiddenField") ListenableFuture initialize(final DOMNotification notification, - final Collection> subscribers) { + final Collection> subscribers) { this.notification = requireNonNull(notification); this.subscribers = requireNonNull(subscribers); this.future = SettableFuture.create(); @@ -42,10 +42,9 @@ final class DOMNotificationRouterEvent { } void deliverNotification() { - for (ListenerRegistration r : subscribers) { - final DOMNotificationListener l = r.getInstance(); - if (l != null) { - l.onNotification(notification); + for (AbstractListenerRegistration r : subscribers) { + if (r.notClosed()) { + r.getInstance().onNotification(notification); } } }