*/
public class RpcRegistry extends BucketStoreActor<RoutingTable> {
private final ActorRef rpcRegistrar;
- private final RemoteRpcRegistryMXBeanImpl mxBean;
+ private RemoteRpcRegistryMXBeanImpl mxBean;
public RpcRegistry(final RemoteOpsProviderConfig config, final ActorRef rpcInvoker, final ActorRef rpcRegistrar) {
super(config, config.getRpcRegistryPersistenceId(), new RoutingTable(rpcInvoker, ImmutableSet.of()));
this.rpcRegistrar = requireNonNull(rpcRegistrar);
- this.mxBean = new RemoteRpcRegistryMXBeanImpl(new BucketStoreAccess(self(), getContext().dispatcher(),
- config.getAskDuration()), config.getAskDuration());
+
}
/**
return Props.create(RpcRegistry.class, config, rpcInvoker, rpcRegistrar);
}
+ @Override
+ public void preStart() {
+ super.preStart();
+ mxBean = new RemoteRpcRegistryMXBeanImpl(new BucketStoreAccess(self(), getContext().dispatcher(),
+ getConfig().getAskDuration()), getConfig().getAskDuration());
+ }
+
@Override
public void postStop() throws Exception {
+ if (mxBean != null) {
+ mxBean.unregister();
+ mxBean = null;
+ }
super.postStop();
- this.mxBean.unregister();
}
@Override
protected void handleCommand(final Object message) throws Exception {
- if (message instanceof AddOrUpdateRoutes) {
- receiveAddRoutes((AddOrUpdateRoutes) message);
- } else if (message instanceof RemoveRoutes) {
- receiveRemoveRoutes((RemoveRoutes) message);
+ if (message instanceof AddOrUpdateRoutes addRoutes) {
+ receiveAddRoutes(addRoutes);
+ } else if (message instanceof RemoveRoutes removeRoutes) {
+ receiveRemoveRoutes(removeRoutes);
} else {
super.handleCommand(message);
}
}
List<DOMRpcIdentifier> getRouteIdentifiers() {
- return this.rpcRouteIdentifiers;
+ return rpcRouteIdentifiers;
}
@Override