X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fnotifications%2FRoleChangeNotifier.java;h=89f9dd12e050aab2e99da50cf1e945a2fccf4ab5;hb=refs%2Fchanges%2F04%2F82304%2F7;hp=598dfb1fe827fe8b03234003dc5d0bdf7c750223;hpb=b57b5bca2d4d04b0e317972b081271bf35c2c818;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/notifications/RoleChangeNotifier.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/notifications/RoleChangeNotifier.java index 598dfb1fe8..89f9dd12e0 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/notifications/RoleChangeNotifier.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/notifications/RoleChangeNotifier.java @@ -19,7 +19,8 @@ import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor; /** * The RoleChangeNotifier is responsible for receiving Raft role and leader state change messages and notifying * the listeners (within the same node), which are registered with it. - *

+ * + *

* The RoleChangeNotifier is instantiated by the Shard and injected into the RaftActor. */ public class RoleChangeNotifier extends AbstractUntypedActor implements AutoCloseable { @@ -45,7 +46,7 @@ public class RoleChangeNotifier extends AbstractUntypedActor implements AutoClos } @Override - protected void handleReceive(Object message) throws Exception { + protected void handleReceive(Object message) { if (message instanceof RegisterRoleChangeListener) { // register listeners for this shard @@ -63,7 +64,7 @@ public class RoleChangeNotifier extends AbstractUntypedActor implements AutoClos getSender().tell(new RegisterRoleChangeListenerReply(), getSelf()); - if(latestLeaderStateChanged != null) { + if (latestLeaderStateChanged != null) { getSender().tell(latestLeaderStateChanged, getSelf()); } @@ -92,11 +93,13 @@ public class RoleChangeNotifier extends AbstractUntypedActor implements AutoClos for (ActorRef listener: registeredListeners.values()) { listener.tell(latestLeaderStateChanged, getSelf()); } + } else { + unknownMessage(message); } } @Override - public void close() throws Exception { + public void close() { registeredListeners.clear(); } }