- @Override
- public Collection<ProviderFunctionality> getProviderFunctionality() {
- return null;
- }
-
- private void start() {
- LOG.info("Starting remote rpc service...");
-
- final SchemaService schemaService = brokerSession.getService(SchemaService.class);
- final DOMRpcService rpcService = brokerSession.getService(DOMRpcService.class);
- schemaContext = schemaService.getGlobalContext();
- rpcManager = actorSystem.actorOf(RpcManager.props(schemaContext,
- rpcProvisionRegistry, rpcService), config.getRpcManagerName());
- schemaListenerRegistration = schemaService.registerSchemaContextListener(this);
- LOG.debug("rpc manager started");
- }
+ @Override
+ public void close() {
+ if (rpcManager != null) {
+ LOG.info("Stopping RPC Manager at {}", rpcManager);
+ rpcManager.tell(PoisonPill.getInstance(), ActorRef.noSender());
+ rpcManager = null;
+ }
+ }