X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2FRemoteRpcProvider.java;h=bdfdfc2832c45fecc4fe0680e44a768569c62811;hb=f09d37ec4cce2411eaae11dde18f9ce2d2f14118;hp=a1b6286a59c764aff95d57650e4356943ea44544;hpb=e631dc96f0461b2270377dc072b9f969a875667a;p=controller.git diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProvider.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProvider.java index a1b6286a59..bdfdfc2832 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProvider.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RemoteRpcProvider.java @@ -11,6 +11,7 @@ package org.opendaylight.controller.remote.rpc; import akka.actor.ActorRef; import akka.actor.ActorSystem; +import com.google.common.base.Preconditions; import java.util.Collection; import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService; import org.opendaylight.controller.md.sal.dom.api.DOMRpcService; @@ -35,25 +36,23 @@ public class RemoteRpcProvider implements AutoCloseable, Provider, SchemaContext private final DOMRpcProviderService rpcProvisionRegistry; private ListenerRegistration schemaListenerRegistration; - private ActorSystem actorSystem; + private final ActorSystem actorSystem; private Broker.ProviderSession brokerSession; private SchemaContext schemaContext; private ActorRef rpcManager; private final RemoteRpcProviderConfig config; - public RemoteRpcProvider(final ActorSystem actorSystem, final DOMRpcProviderService rpcProvisionRegistry) { + public RemoteRpcProvider(final ActorSystem actorSystem, + final DOMRpcProviderService rpcProvisionRegistry, + final RemoteRpcProviderConfig config) { this.actorSystem = actorSystem; this.rpcProvisionRegistry = rpcProvisionRegistry; - config = new RemoteRpcProviderConfig(actorSystem.settings().config()); + this.config = Preconditions.checkNotNull(config); } @Override public void close() throws Exception { - if (actorSystem != null) { - actorSystem.shutdown(); - actorSystem = null; - } if (schemaListenerRegistration != null) { schemaListenerRegistration.close(); schemaListenerRegistration = null; @@ -78,7 +77,7 @@ public class RemoteRpcProvider implements AutoCloseable, Provider, SchemaContext final DOMRpcService rpcService = brokerSession.getService(DOMRpcService.class); schemaContext = schemaService.getGlobalContext(); rpcManager = actorSystem.actorOf(RpcManager.props(schemaContext, - rpcProvisionRegistry, rpcService), config.getRpcManagerName()); + rpcProvisionRegistry, rpcService, config), config.getRpcManagerName()); schemaListenerRegistration = schemaService.registerSchemaContextListener(this); LOG.debug("rpc manager started"); }