X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDataChangeListenerRegistrationProxy.java;h=e3cdbb4ee131d1b0961e9d57c8eeb5ee6e568b61;hp=89cc9695251d18b2efc747b0de2b2882431a8de5;hb=19ebaaaa8f6c4286f84379067599e48d20e44c57;hpb=bf58d8967d18f932df42ed025d2a2bd1a31002ec diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxy.java index 89cc969525..e3cdbb4ee1 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxy.java @@ -8,11 +8,13 @@ package org.opendaylight.controller.cluster.datastore; +import akka.actor.ActorRef; import akka.actor.ActorSelection; +import akka.actor.PoisonPill; import org.opendaylight.controller.cluster.datastore.messages.CloseDataChangeListenerRegistration; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener; import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; /** @@ -25,13 +27,15 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; public class DataChangeListenerRegistrationProxy implements ListenerRegistration { private final ActorSelection listenerRegistrationActor; private final AsyncDataChangeListener listener; + private final ActorRef dataChangeListenerActor; - public >> + public >> DataChangeListenerRegistrationProxy( ActorSelection listenerRegistrationActor, - L listener) { + L listener, ActorRef dataChangeListenerActor) { this.listenerRegistrationActor = listenerRegistrationActor; this.listener = listener; + this.dataChangeListenerActor = dataChangeListenerActor; } @Override @@ -41,6 +45,7 @@ public class DataChangeListenerRegistrationProxy implements ListenerRegistration @Override public void close() { - listenerRegistrationActor.tell(new CloseDataChangeListenerRegistration(), null); + listenerRegistrationActor.tell(new CloseDataChangeListenerRegistration().toSerializable(), null); + dataChangeListenerActor.tell(PoisonPill.getInstance(), null); } }