Skip to content

Commit 98b017f

Browse files
authored
Merge pull request #382 from scalecube/remove_jmx
Removed jmx support
2 parents d0d0678 + 79bcfc2 commit 98b017f

File tree

6 files changed

+3
-267
lines changed

6 files changed

+3
-267
lines changed

cluster/src/main/java/io/scalecube/cluster/ClusterImpl.java

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,13 @@
1212
import io.scalecube.cluster.metadata.MetadataCodec;
1313
import io.scalecube.cluster.metadata.MetadataStore;
1414
import io.scalecube.cluster.metadata.MetadataStoreImpl;
15-
import io.scalecube.cluster.monitor.ClusterMonitorMBean;
16-
import io.scalecube.cluster.monitor.ClusterMonitorModel;
17-
import io.scalecube.cluster.monitor.JmxClusterMonitorMBean;
1815
import io.scalecube.cluster.transport.api.Message;
1916
import io.scalecube.cluster.transport.api.Transport;
2017
import io.scalecube.cluster.transport.api.TransportConfig;
2118
import io.scalecube.cluster.transport.api.TransportFactory;
2219
import io.scalecube.net.Address;
2320
import io.scalecube.utils.ServiceLoaderUtil;
2421
import java.io.Serializable;
25-
import java.lang.management.ManagementFactory;
2622
import java.nio.ByteBuffer;
2723
import java.util.Collection;
2824
import java.util.Collections;
@@ -36,14 +32,10 @@
3632
import java.util.regex.Pattern;
3733
import java.util.stream.Collectors;
3834
import java.util.stream.Stream;
39-
import javax.management.MBeanServer;
40-
import javax.management.ObjectName;
41-
import javax.management.StandardMBean;
4235
import org.slf4j.Logger;
4336
import org.slf4j.LoggerFactory;
4437
import reactor.core.Disposable;
4538
import reactor.core.Disposables;
46-
import reactor.core.Exceptions;
4739
import reactor.core.publisher.Flux;
4840
import reactor.core.publisher.Mono;
4941
import reactor.core.publisher.Sinks;
@@ -73,8 +65,6 @@ public final class ClusterImpl implements Cluster {
7365
private static final Set<String> SYSTEM_GOSSIPS =
7466
Collections.singleton(MembershipProtocolImpl.MEMBERSHIP_GOSSIP);
7567

76-
private volatile String jmxBeanName = null;
77-
7868
private ClusterConfig config;
7969
private Function<Cluster, ? extends ClusterMessageHandler> handler =
8070
cluster -> new ClusterMessageHandler() {};
@@ -100,7 +90,6 @@ public final class ClusterImpl implements Cluster {
10090
private MembershipProtocolImpl membership;
10191
private MetadataStore metadataStore;
10292
private Scheduler scheduler;
103-
private ClusterMonitorModel.Builder monitorModelBuilder;
10493

10594
public ClusterImpl() {
10695
this(ClusterConfig.defaultConfig());
@@ -255,7 +244,6 @@ private Mono<Cluster> doStart0() {
255244
transport = new SenderAwareTransport(boundTransport, localMember.address());
256245

257246
scheduler = Schedulers.newSingle("sc-cluster-" + localMember.address().port(), true);
258-
monitorModelBuilder = new ClusterMonitorModel.Builder();
259247

260248
failureDetector =
261249
new FailureDetectorImpl(
@@ -285,8 +273,7 @@ private Mono<Cluster> doStart0() {
285273
gossip,
286274
metadataStore,
287275
config,
288-
scheduler,
289-
monitorModelBuilder);
276+
scheduler);
290277

291278
actionsDisposables.add(
292279
// Retransmit inner membership events to public api layer
@@ -304,7 +291,6 @@ private Mono<Cluster> doStart0() {
304291
.then(Mono.fromRunnable(() -> metadataStore.start()))
305292
.then(Mono.fromRunnable(this::startHandler))
306293
.then(membership.start())
307-
.then(Mono.fromRunnable(this::startJmxMonitor))
308294
.then();
309295
})
310296
.doOnSubscribe(s -> LOGGER.info("[{}][doStart] Starting, config: {}", localMember, config))
@@ -360,33 +346,6 @@ private void startHandler() {
360346
ex -> LOGGER.error("[{}][onGossip][error] cause:", localMember, ex)));
361347
}
362348

363-
private void startJmxMonitor() {
364-
ClusterMonitorModel monitorModel = monitorModelBuilder.config(config).cluster(this).build();
365-
JmxClusterMonitorMBean monitorMBean = new JmxClusterMonitorMBean(monitorModel);
366-
try {
367-
StandardMBean standardMBean = new StandardMBean(monitorMBean, ClusterMonitorMBean.class);
368-
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
369-
String beanName = "io.scalecube.cluster:name=" + member().id() + "@" + System.nanoTime();
370-
jmxBeanName = beanName;
371-
ObjectName objectName = new ObjectName(beanName);
372-
server.registerMBean(standardMBean, objectName);
373-
} catch (Exception ex) {
374-
throw Exceptions.propagate(ex);
375-
}
376-
}
377-
378-
private void stopJmxMonitor() {
379-
String beanName = jmxBeanName;
380-
if (beanName != null) {
381-
try {
382-
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
383-
server.unregisterMBean(new ObjectName(beanName));
384-
} catch (Exception ex) {
385-
throw Exceptions.propagate(ex);
386-
}
387-
}
388-
}
389-
390349
private Flux<Message> listenMessage() {
391350
// filter out system messages
392351
return transport.listen().filter(msg -> !SYSTEM_MESSAGES.contains(msg.qualifier()));
@@ -515,7 +474,6 @@ private Mono<Void> doShutdown() {
515474
() -> {
516475
LOGGER.info("[{}][doShutdown] Shutting down", localMember);
517476
return Flux.concatDelayError(leaveCluster(), dispose(), transport.stop())
518-
.then(Mono.fromRunnable(this::stopJmxMonitor))
519477
.then()
520478
.doFinally(s -> scheduler.dispose())
521479
.doOnSuccess(avoid -> LOGGER.info("[{}][doShutdown] Shutdown", localMember));

cluster/src/main/java/io/scalecube/cluster/membership/MembershipProtocolImpl.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import io.scalecube.cluster.fdetector.FailureDetectorEvent;
1414
import io.scalecube.cluster.gossip.GossipProtocol;
1515
import io.scalecube.cluster.metadata.MetadataStore;
16-
import io.scalecube.cluster.monitor.ClusterMonitorModel;
1716
import io.scalecube.cluster.transport.api.Message;
1817
import io.scalecube.cluster.transport.api.Transport;
1918
import io.scalecube.net.Address;
@@ -80,7 +79,6 @@ private enum MembershipUpdateReason {
8079
private final FailureDetector failureDetector;
8180
private final GossipProtocol gossipProtocol;
8281
private final MetadataStore metadataStore;
83-
private final ClusterMonitorModel.Builder monitorModelBuilder;
8482

8583
// State
8684

@@ -111,7 +109,6 @@ private enum MembershipUpdateReason {
111109
* @param metadataStore metadata store
112110
* @param config cluster config parameters
113111
* @param scheduler scheduler
114-
* @param monitorModelBuilder monitor model builder
115112
*/
116113
public MembershipProtocolImpl(
117114
Member localMember,
@@ -120,16 +117,13 @@ public MembershipProtocolImpl(
120117
GossipProtocol gossipProtocol,
121118
MetadataStore metadataStore,
122119
ClusterConfig config,
123-
Scheduler scheduler,
124-
ClusterMonitorModel.Builder monitorModelBuilder) {
125-
120+
Scheduler scheduler) {
126121
this.transport = Objects.requireNonNull(transport);
127122
this.failureDetector = Objects.requireNonNull(failureDetector);
128123
this.gossipProtocol = Objects.requireNonNull(gossipProtocol);
129124
this.metadataStore = Objects.requireNonNull(metadataStore);
130125
this.localMember = Objects.requireNonNull(localMember);
131126
this.scheduler = Objects.requireNonNull(scheduler);
132-
this.monitorModelBuilder = Objects.requireNonNull(monitorModelBuilder);
133127
this.membershipConfig = Objects.requireNonNull(config).membershipConfig();
134128
this.failureDetectorConfig = Objects.requireNonNull(config).failureDetectorConfig();
135129

@@ -250,14 +244,6 @@ public Mono<Void> start() {
250244
}
251245

252246
private void start0(MonoSink<Object> sink) {
253-
// Prepare monitor model
254-
monitorModelBuilder
255-
.seedMembers(seedMembers)
256-
.incarnationSupplier(this::getIncarnation)
257-
.aliveMembersSupplier(this::getAliveMembers)
258-
.suspectedMembersSupplier(this::getSuspectedMembers)
259-
.removedMembersSupplier(this::getRemovedMembers);
260-
261247
// In case no members at the moment just schedule periodic sync
262248
if (seedMembers.isEmpty()) {
263249
schedulePeriodicSync();

cluster/src/main/java/io/scalecube/cluster/monitor/ClusterMonitorMBean.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

cluster/src/main/java/io/scalecube/cluster/monitor/ClusterMonitorModel.java

Lines changed: 0 additions & 115 deletions
This file was deleted.

cluster/src/main/java/io/scalecube/cluster/monitor/JmxClusterMonitorMBean.java

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)