Skip to content

Commit 1b61a0b

Browse files
authored
Merge pull request #769 from scalecube/update-cluster
Updated cluster, fixed jmx object name
2 parents 4267666 + 06c1a27 commit 1b61a0b

File tree

4 files changed

+15
-14
lines changed

4 files changed

+15
-14
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
<properties>
2525
<jackson.version>2.11.0</jackson.version>
26-
<scalecube-cluster.version>2.6.0-RC1</scalecube-cluster.version>
26+
<scalecube-cluster.version>2.6.0-RC2</scalecube-cluster.version>
2727
<scalecube-commons.version>1.0.4</scalecube-commons.version>
2828
<scalecube-benchmarks.version>1.2.2</scalecube-benchmarks.version>
2929
<scalecube-config.version>0.4.3</scalecube-config.version>

services-discovery/src/main/java/io/scalecube/services/discovery/ScalecubeServiceDiscovery.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,8 @@ public interface MonitorMBean {
238238

239239
private static class JmxMonitorMBean implements MonitorMBean {
240240

241+
private static final String OBJECT_NAME_FORMAT = "io.scalecube.services.discovery:name=%s@%s";
242+
241243
public static final int RECENT_DISCOVERY_EVENTS_SIZE = 128;
242244

243245
private final ScalecubeServiceDiscovery discovery;
@@ -251,9 +253,9 @@ private static JmxMonitorMBean start(ScalecubeServiceDiscovery instance) throws
251253
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
252254
JmxMonitorMBean jmxMBean = new JmxMonitorMBean(instance);
253255
jmxMBean.init();
254-
String id = instance.serviceEndpoint.id() + "/" + Integer.toHexString(instance.hashCode());
255256
ObjectName objectName =
256-
new ObjectName("io.scalecube.services:name=ScalecubeServiceDiscovery@" + id);
257+
new ObjectName(
258+
String.format(OBJECT_NAME_FORMAT, instance.serviceEndpoint.id(), System.nanoTime()));
257259
StandardMBean standardMBean = new StandardMBean(jmxMBean, MonitorMBean.class);
258260
mbeanServer.registerMBean(standardMBean, objectName);
259261
return jmxMBean;

services-examples-parent/services-examples/src/main/java/io/scalecube/services/examples/discovery/CompositeDiscoveryExample.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class CompositeDiscoveryExample {
1616
*
1717
* @param args arguments
1818
*/
19-
public static void main(String[] args) {
19+
public static void main(String[] args) throws InterruptedException {
2020
Microservices seed1 =
2121
Microservices.builder()
2222
.discovery("seed1", ScalecubeServiceDiscovery::new)
@@ -60,13 +60,13 @@ public static void main(String[] args) {
6060
"domain1",
6161
endpoint ->
6262
new ScalecubeServiceDiscovery(endpoint)
63-
.options(cfg -> cfg.memberIdGenerator(() -> endpoint.id() + "/domain1"))
63+
.options(cfg -> cfg.memberIdGenerator(endpoint::id))
6464
.membership(cfg -> cfg.seedMembers(seed1Address)))
6565
.discovery(
6666
"domain2",
6767
endpoint ->
6868
new ScalecubeServiceDiscovery(endpoint)
69-
.options(cfg -> cfg.memberIdGenerator(() -> endpoint.id() + "/domain2"))
69+
.options(cfg -> cfg.memberIdGenerator(endpoint::id))
7070
.membership(cfg -> cfg.seedMembers(seed2Address)))
7171
.transport(RSocketServiceTransport::new)
7272
.startAwait();
@@ -78,6 +78,8 @@ public static void main(String[] args) {
7878
Greeting greeting2 =
7979
compositeMs.call().api(GreetingsService2.class).sayHello("hello two").block();
8080
System.err.println("This is response from GreetingsService2: " + greeting2.message());
81+
82+
Thread.currentThread().join();
8183
}
8284

8385
@Service

services/src/main/java/io/scalecube/services/Microservices.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public final class Microservices {
127127

128128
public static final Logger LOGGER = LoggerFactory.getLogger(Microservices.class);
129129

130-
private final String id = generateId();
130+
private final String id = UUID.randomUUID().toString().replace("-", "");
131131
private final Map<String, String> tags;
132132
private final List<ServiceProvider> serviceProviders;
133133
private final ServiceRegistry serviceRegistry;
@@ -174,12 +174,6 @@ public String id() {
174174
return this.id;
175175
}
176176

177-
private static String generateId() {
178-
UUID uuid = UUID.randomUUID();
179-
return Long.toHexString(uuid.getMostSignificantBits())
180-
+ Long.toHexString(uuid.getLeastSignificantBits());
181-
}
182-
183177
@Override
184178
public String toString() {
185179
return "Microservices@" + id;
@@ -787,12 +781,15 @@ public interface MonitorMBean {
787781

788782
private static class JmxMonitorMBean implements MonitorMBean {
789783

784+
private static final String OBJECT_NAME_FORMAT = "io.scalecube.services:name=%s@%s";
785+
790786
private final Microservices microservices;
791787

792788
private static JmxMonitorMBean start(Microservices instance) throws Exception {
793789
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
794790
JmxMonitorMBean jmxMBean = new JmxMonitorMBean(instance);
795-
ObjectName objectName = new ObjectName("io.scalecube.services:name=" + instance.toString());
791+
ObjectName objectName =
792+
new ObjectName(String.format(OBJECT_NAME_FORMAT, instance.id(), System.nanoTime()));
796793
StandardMBean standardMBean = new StandardMBean(jmxMBean, MonitorMBean.class);
797794
mbeanServer.registerMBean(standardMBean, objectName);
798795
return jmxMBean;

0 commit comments

Comments
 (0)