Fix: Internal tunnels missing after karaf restart in all 3 CICs
[genius.git] / itm / itm-impl / src / main / java / org / opendaylight / genius / itm / cache / DPNTEPsInfoCache.java
index 9b025503f21c2b284948d33f72f0a9d7fce2fde5..9d33cd42bb97385213ddc6f4879f8322348594c0 100644 (file)
@@ -25,6 +25,7 @@ import org.opendaylight.infrautils.caches.CacheProvider;
 import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.Acquired;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunner;
 import org.opendaylight.mdsal.binding.util.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@@ -56,12 +57,14 @@ public class DPNTEPsInfoCache extends InstanceIdDataObjectCache<DPNTEPsInfo> {
     public DPNTEPsInfoCache(final DataBroker dataBroker, final CacheProvider cacheProvider,
                             final DirectTunnelUtils directTunnelUtils, final JobCoordinator coordinator,
                             final UnprocessedNodeConnectorEndPointCache unprocessedNodeConnectorEndPointCache) {
-        super(DPNTEPsInfo.class, dataBroker, LogicalDatastoreType.CONFIGURATION,
-                InstanceIdentifier.builder(DpnEndpoints.class).child(DPNTEPsInfo.class).build(), cacheProvider);
+        super(DPNTEPsInfo.class, dataBroker, LogicalDatastoreType.CONFIGURATION, cacheProvider);
         this.directTunnelUtils = directTunnelUtils;
         this.coordinator = coordinator;
         this.unprocessedNodeConnectorEndPointCache = unprocessedNodeConnectorEndPointCache;
         this.txRunner = new ManagedNewTransactionRunnerImpl(dataBroker);
+        listenerRegistration = dataBroker.registerDataTreeChangeListener(DataTreeIdentifier.create(
+                LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.builder(DpnEndpoints.class)
+                .child(DPNTEPsInfo.class).build()), dataObjectListener);
     }
 
     @Override