Merge "Prevent ConfigPusher from killing its thread"
[controller.git] / opendaylight / netconf / config-persister-impl / src / main / java / org / opendaylight / controller / netconf / persist / impl / ConfigPersisterNotificationHandler.java
index 1c3ac7a455c4f80eb8a1607f1e942bb2c91f3977..889fa8428c7fb2617e63b31653c49d0a63cf3ed0 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.controller.netconf.persist.impl;
 
+import org.opendaylight.controller.config.persist.api.Persister;
 import org.opendaylight.controller.netconf.api.jmx.CommitJMXNotification;
 import org.opendaylight.controller.netconf.api.jmx.DefaultCommitOperationMXBean;
 import org.opendaylight.controller.netconf.api.jmx.NetconfJMXNotification;
@@ -36,11 +37,11 @@ public class ConfigPersisterNotificationHandler implements NotificationListener,
     private static final Logger logger = LoggerFactory.getLogger(ConfigPersisterNotificationHandler.class);
     private final MBeanServerConnection mBeanServerConnection;
     private final NetconfClient netconfClient;
-    private final PersisterAggregator persisterAggregator;
+    private final Persister persisterAggregator;
     private final Pattern ignoredMissingCapabilityRegex;
 
     public ConfigPersisterNotificationHandler(MBeanServerConnection mBeanServerConnection, NetconfClient netconfClient,
-                                              PersisterAggregator persisterAggregator, Pattern ignoredMissingCapabilityRegex) {
+                                              Persister persisterAggregator, Pattern ignoredMissingCapabilityRegex) {
         this.mBeanServerConnection = mBeanServerConnection;
         this.netconfClient = netconfClient;
         this.persisterAggregator = persisterAggregator;
@@ -68,12 +69,13 @@ public class ConfigPersisterNotificationHandler implements NotificationListener,
         // Socket should not be closed at this point
         // Activator unregisters this as JMX listener before close is called
 
-        logger.info("Received notification {}", notification);
+        logger.trace("Received notification {}", notification);
         if (notification instanceof CommitJMXNotification) {
             try {
                 handleAfterCommitNotification((CommitJMXNotification) notification);
-            } catch (Exception e) {
-                // TODO: notificationBroadcast support logs only DEBUG
+            } catch (Throwable e) {
+                // log exceptions from notification Handler here since
+                // notificationBroadcastSupport logs only DEBUG level
                 logger.warn("Exception occured during notification handling: ", e);
                 throw e;
             }
@@ -85,7 +87,7 @@ public class ConfigPersisterNotificationHandler implements NotificationListener,
         try {
             persisterAggregator.persistConfig(new CapabilityStrippingConfigSnapshotHolder(notification.getConfigSnapshot(),
                     notification.getCapabilities(), ignoredMissingCapabilityRegex));
-            logger.info("Configuration persisted successfully");
+            logger.trace("Configuration persisted successfully");
         } catch (IOException e) {
             throw new RuntimeException("Unable to persist configuration snapshot", e);
         }