BUG-5280: implement message queueing
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / DataChangeListenerRegistrationActor.java
index b087331287f6f8ccf2f4e7239f4cfbbc39e74f5a..29e4a1a9fcfb20ae33091ca0ebc9e90264a676d0 100644 (file)
@@ -30,9 +30,11 @@ public class DataChangeListenerRegistrationActor extends AbstractUntypedActor {
     }
 
     @Override
-    public void handleReceive(Object message) throws Exception {
+    public void handleReceive(Object message) {
         if (message instanceof CloseDataChangeListenerRegistration) {
             closeListenerRegistration();
+        } else {
+            unknownMessage(message);
         }
     }
 
@@ -43,7 +45,11 @@ public class DataChangeListenerRegistrationActor extends AbstractUntypedActor {
 
     private void closeListenerRegistration() {
         registration.close();
-        getSender().tell(CloseDataChangeListenerRegistrationReply.INSTANCE, getSelf());
+
+        if(isValidSender(getSender())) {
+            getSender().tell(CloseDataChangeListenerRegistrationReply.INSTANCE, getSelf());
+        }
+
         getSelf().tell(PoisonPill.getInstance(), getSelf());
     }