Use ActorSystem.terminate()
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / config / yang / config / actor_system_provider / impl / ActorSystemProviderImpl.java
index 5970ea47e5413d4c76c19e212632589f60341351..1ab67384f17112d0ac527dc00099ed851676be54 100644 (file)
@@ -26,6 +26,7 @@ import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import scala.concurrent.Await;
 import scala.concurrent.duration.Duration;
 
 public class ActorSystemProviderImpl implements ActorSystemProvider, AutoCloseable {
@@ -70,7 +71,7 @@ public class ActorSystemProviderImpl implements ActorSystemProvider, AutoCloseab
 
     @Override
     public ListenerRegistration<ActorSystemProviderListener> registerActorSystemProviderListener(
-            ActorSystemProviderListener listener) {
+            final ActorSystemProviderListener listener) {
         return listeners.register(listener);
     }
 
@@ -78,9 +79,8 @@ public class ActorSystemProviderImpl implements ActorSystemProvider, AutoCloseab
     public void close() {
         LOG.info("Shutting down ActorSystem");
 
-        actorSystem.shutdown();
         try {
-            actorSystem.awaitTermination(Duration.create(10, TimeUnit.SECONDS));
+            Await.result(actorSystem.terminate(), Duration.create(10, TimeUnit.SECONDS));
         } catch (Exception e) {
             LOG.warn("Error awaiting actor termination", e);
         }