Use a simple list for string code table
[controller.git] / opendaylight / md-sal / cds-access-client / src / main / java / org / opendaylight / controller / cluster / access / client / AbstractClientActor.java
index 36f06ef4dcf9ea99fe59cbb7439b387162513446..7b592fbdb2e0834391c45de165d92505f78cf697 100644 (file)
@@ -35,6 +35,15 @@ public abstract class AbstractClientActor extends UntypedPersistentActor {
         return currentBehavior.persistenceId();
     }
 
+    @Override
+    public void postStop() {
+        if (currentBehavior != null) {
+            currentBehavior.close();
+        }
+
+        super.postStop();
+    }
+
     private void switchBehavior(final AbstractClientActorBehavior<?> nextBehavior) {
         if (!currentBehavior.equals(nextBehavior)) {
             if (nextBehavior == null) {
@@ -44,6 +53,7 @@ public abstract class AbstractClientActor extends UntypedPersistentActor {
                 LOG.debug("{}: switched from {} to {}", persistenceId(), currentBehavior, nextBehavior);
             }
 
+            currentBehavior.close();
             currentBehavior = nextBehavior;
         }
     }
@@ -67,5 +77,7 @@ public abstract class AbstractClientActor extends UntypedPersistentActor {
         switchBehavior(currentBehavior.onReceiveRecover(recover));
     }
 
-    protected abstract ClientActorBehavior initialBehavior(ClientActorContext context);
+    protected abstract ClientActorBehavior<?> initialBehavior(ClientActorContext context);
+
+    protected abstract ClientActorConfig getClientActorConfig();
 }