From: wusandi Date: Wed, 20 Dec 2017 07:09:12 +0000 (+0800) Subject: register RemoteRpcRegistryMXBean X-Git-Tag: release/oxygen~46 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=105587c7c4068aa8a0721669cff6aae7f28f6492 register RemoteRpcRegistryMXBean The RemoteRpcRegistryMXBean had not registered because of code refactoring. I'm sure that it had been removed from one of history commits, But I think it should be added back to support jmx for query rpcs when one of rpcs breaks down. Change-Id: I506ed5c25c7615b8bb7ac9c0102bf671ff40bb78 Signed-off-by: wusandi --- diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java index 40600d091e..fe43a691d2 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java @@ -29,6 +29,7 @@ import org.opendaylight.controller.remote.rpc.registry.RpcRegistry.Messages.Remo import org.opendaylight.controller.remote.rpc.registry.RpcRegistry.Messages.UpdateRemoteEndpoints; import org.opendaylight.controller.remote.rpc.registry.gossip.Bucket; import org.opendaylight.controller.remote.rpc.registry.gossip.BucketStoreActor; +import org.opendaylight.controller.remote.rpc.registry.mbeans.RemoteRpcRegistryMXBeanImpl; /** * Registry to look up cluster nodes that have registered for a given RPC. @@ -39,10 +40,12 @@ import org.opendaylight.controller.remote.rpc.registry.gossip.BucketStoreActor; */ public class RpcRegistry extends BucketStoreActor { private final ActorRef rpcRegistrar; + private final RemoteRpcRegistryMXBeanImpl mxBean; public RpcRegistry(final RemoteRpcProviderConfig config, final ActorRef rpcInvoker, final ActorRef rpcRegistrar) { super(config, config.getRpcRegistryPersistenceId(), new RoutingTable(rpcInvoker, ImmutableSet.of())); this.rpcRegistrar = Preconditions.checkNotNull(rpcRegistrar); + this.mxBean = new RemoteRpcRegistryMXBeanImpl(this); } /** @@ -58,6 +61,12 @@ public class RpcRegistry extends BucketStoreActor { return Props.create(RpcRegistry.class, config, rpcInvoker, rpcRegistrar); } + @Override + public void postStop() { + super.postStop(); + this.mxBean.unregister(); + } + @Override protected void handleCommand(final Object message) throws Exception { if (message instanceof AddOrUpdateRoutes) {