X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=vpnmanager%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Fvpnmanager%2FFibEntriesListener.java;h=c358c89c3ac4655cf8bcf96d904e81d491405b31;hb=2f0569ed75ef8a1fb60f992d19c8bbdf92ff45bf;hp=1164671f87140fabc39b648769975574b0fd363b;hpb=fffad3ab6e2bd0c6179ce5391a5d716746645aa1;p=netvirt.git diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/FibEntriesListener.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/FibEntriesListener.java index 1164671f87..c358c89c3a 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/FibEntriesListener.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/FibEntriesListener.java @@ -12,15 +12,16 @@ import static org.opendaylight.genius.infra.Datastore.OPERATIONAL; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; import javax.inject.Inject; import javax.inject.Singleton; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase; import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; +import org.opendaylight.infrautils.utils.concurrent.Executors; import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.serviceutils.tools.listener.AbstractAsyncDataTreeChangeListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.FibEntries; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTables; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTablesKey; @@ -34,7 +35,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Singleton -public class FibEntriesListener extends AsyncDataTreeChangeListenerBase { +public class FibEntriesListener extends AbstractAsyncDataTreeChangeListener { private static final Logger LOG = LoggerFactory.getLogger(FibEntriesListener.class); private final DataBroker dataBroker; private final ManagedNewTransactionRunner txRunner; @@ -42,31 +43,28 @@ public class FibEntriesListener extends AsyncDataTreeChangeListenerBase getWildCardPath() { - return InstanceIdentifier.create(FibEntries.class).child(VrfTables.class).child(VrfEntry.class); - } - - @Override - protected FibEntriesListener getDataTreeChangeListener() { - return FibEntriesListener.this; + @PreDestroy + public void close() { + super.close(); + Executors.shutdownAndAwaitTermination(getExecutorService()); } @Override - protected void remove(InstanceIdentifier identifier, + public void remove(InstanceIdentifier identifier, VrfEntry del) { LOG.trace("Remove Fib event - Key : {}, value : {} ", identifier, del); final VrfTablesKey key = identifier.firstKeyOf(VrfTables.class); @@ -76,7 +74,7 @@ public class FibEntriesListener extends AsyncDataTreeChangeListenerBase identifier, + public void update(InstanceIdentifier identifier, VrfEntry original, VrfEntry update) { final VrfTablesKey key = identifier.firstKeyOf(VrfTables.class); String rd = key.getRouteDistinguisher(); @@ -92,7 +90,7 @@ public class FibEntriesListener extends AsyncDataTreeChangeListenerBase identifier, + public void add(InstanceIdentifier identifier, VrfEntry add) { LOG.trace("Add Vrf Entry event - Key : {}, value : {}", identifier, add); final VrfTablesKey key = identifier.firstKeyOf(VrfTables.class);