Clear out router event on completion 74/32874/2
authorRobert Varga <robert.varga@pantheon.sk>
Sat, 16 Jan 2016 14:59:41 +0000 (15:59 +0100)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 21 Jan 2016 12:44:53 +0000 (12:44 +0000)
Rather than keeping references on heap, clear references once the future
has been notified. Also some logging to enable debugging.

Change-Id: I2ab352db51134b30fb352a4adabc07eda0945841
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMNotificationRouterEvent.java

index 85f93a6238fdf8ce134474a0a04a60f5eadc0568..0367cab3822b2fc5cda94122e1efb538eb74ab78 100644 (file)
@@ -47,20 +47,26 @@ final class DOMNotificationRouterEvent {
     }
 
     void deliverNotification() {
+        LOG.trace("Start delivery of notification {}", notification);
         for (ListenerRegistration<? extends DOMNotificationListener> r : subscribers) {
             final DOMNotificationListener listener = r.getInstance();
             if (listener != null) {
                 try {
+                    LOG.trace("Notifying listener {}", listener);
                     listener.onNotification(notification);
+                    LOG.trace("Listener notification completed");
                 } catch (Exception e) {
                     LOG.error("Delivery of notification {} caused an error in listener {}", notification, listener, e);
                 }
             }
         }
+        LOG.trace("Delivery completed");
     }
 
     void setFuture() {
         future.set(null);
+        notification = null;
+        subscribers = null;
+        future = null;
     }
-
 }
\ No newline at end of file