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;
public class DataChangeListenerRegistrationProxy implements ListenerRegistration {
private final ActorSelection listenerRegistrationActor;
private final AsyncDataChangeListener listener;
+ private final ActorRef dataChangeListenerActor;
public <L extends AsyncDataChangeListener<InstanceIdentifier, NormalizedNode<?, ?>>>
DataChangeListenerRegistrationProxy(
ActorSelection listenerRegistrationActor,
- L listener) {
+ L listener, ActorRef dataChangeListenerActor) {
this.listenerRegistrationActor = listenerRegistrationActor;
this.listener = listener;
+ this.dataChangeListenerActor = dataChangeListenerActor;
}
@Override
@Override
public void close() {
listenerRegistrationActor.tell(new CloseDataChangeListenerRegistration(), null);
+ dataChangeListenerActor.tell(PoisonPill.getInstance(), null);
}
}