Skip to content

Commit 413708c

Browse files
authored
Update versions (#819)
* Update versions. * Set the cluster transport and its metadata explicitly.
1 parent f0cda59 commit 413708c

File tree

27 files changed

+286
-80
lines changed

27 files changed

+286
-80
lines changed

pom.xml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,18 @@
5757
</scm>
5858

5959
<properties>
60-
<scalecube-cluster.version>2.6.9</scalecube-cluster.version>
60+
<scalecube-cluster.version>2.6.10</scalecube-cluster.version>
6161
<scalecube-commons.version>1.0.17</scalecube-commons.version>
6262
<scalecube-security.version>1.0.19</scalecube-security.version>
6363

64-
<reactor.version>2020.0.6</reactor.version>
64+
<reactor.version>2020.0.10</reactor.version>
6565
<jackson.version>2.11.0</jackson.version>
66-
<rsocket.version>1.0.4</rsocket.version>
66+
<rsocket.version>1.0.5</rsocket.version>
6767
<protostuff.version>1.6.0</protostuff.version>
6868
<slf4j.version>1.7.30</slf4j.version>
6969
<log4j.version>2.13.2</log4j.version>
7070
<disruptor.version>3.4.2</disruptor.version>
71-
<netty.version>4.1.63.Final</netty.version>
71+
<netty.version>4.1.66.Final</netty.version>
7272
<snakeyaml.version>1.26</snakeyaml.version>
7373

7474
<jsr305.version>3.0.2</jsr305.version>
@@ -116,6 +116,11 @@
116116
<artifactId>scalecube-codec-jackson</artifactId>
117117
<version>${scalecube-cluster.version}</version>
118118
</dependency>
119+
<dependency>
120+
<groupId>io.scalecube</groupId>
121+
<artifactId>scalecube-transport-netty</artifactId>
122+
<version>${scalecube-cluster.version}</version>
123+
</dependency>
119124

120125
<!-- Reactor -->
121126
<dependency>

services-discovery/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@
3838
<artifactId>scalecube-codec-jackson</artifactId>
3939
<scope>test</scope>
4040
</dependency>
41+
<dependency>
42+
<groupId>io.scalecube</groupId>
43+
<artifactId>scalecube-transport-netty</artifactId>
44+
<scope>test</scope>
45+
</dependency>
4146
</dependencies>
4247

4348
</project>

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

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818
import io.scalecube.services.discovery.api.ServiceDiscovery;
1919
import io.scalecube.services.discovery.api.ServiceDiscoveryContext;
2020
import io.scalecube.services.discovery.api.ServiceDiscoveryEvent;
21-
import io.scalecube.transport.netty.websocket.WebsocketTransportFactory;
2221
import java.lang.management.ManagementFactory;
2322
import java.nio.ByteBuffer;
2423
import java.util.List;
25-
import java.util.Objects;
2624
import java.util.StringJoiner;
2725
import java.util.concurrent.CopyOnWriteArrayList;
2826
import java.util.function.UnaryOperator;
@@ -41,26 +39,16 @@ public final class ScalecubeServiceDiscovery implements ServiceDiscovery {
4139

4240
private static final Logger LOGGER = LoggerFactory.getLogger(ServiceDiscovery.class);
4341

44-
private final ServiceEndpoint serviceEndpoint;
45-
4642
private ClusterConfig clusterConfig;
4743
private Cluster cluster;
4844

4945
// Sink
5046
private final Sinks.Many<ServiceDiscoveryEvent> sink =
5147
Sinks.many().multicast().directBestEffort();
5248

53-
/**
54-
* Constructor.
55-
*
56-
* @param serviceEndpoint service endpoint
57-
*/
58-
public ScalecubeServiceDiscovery(ServiceEndpoint serviceEndpoint) {
59-
this.serviceEndpoint = Objects.requireNonNull(serviceEndpoint, "serviceEndpoint");
60-
this.clusterConfig =
61-
ClusterConfig.defaultLanConfig()
62-
.metadata(serviceEndpoint)
63-
.transport(opts -> opts.transportFactory(new WebsocketTransportFactory()));
49+
/** Constructor. */
50+
public ScalecubeServiceDiscovery() {
51+
this.clusterConfig = ClusterConfig.defaultLanConfig();
6452
}
6553

6654
/**
@@ -69,7 +57,6 @@ public ScalecubeServiceDiscovery(ServiceEndpoint serviceEndpoint) {
6957
* @param other other instance
7058
*/
7159
private ScalecubeServiceDiscovery(ScalecubeServiceDiscovery other) {
72-
this.serviceEndpoint = other.serviceEndpoint;
7360
this.clusterConfig = other.clusterConfig;
7461
this.cluster = other.cluster;
7562
}
@@ -255,7 +242,7 @@ private static JmxMonitorMBean start(ScalecubeServiceDiscovery instance) throws
255242
jmxMBean.init();
256243
ObjectName objectName =
257244
new ObjectName(
258-
String.format(OBJECT_NAME_FORMAT, instance.serviceEndpoint.id(), System.nanoTime()));
245+
String.format(OBJECT_NAME_FORMAT, instance.cluster.member().id(), System.nanoTime()));
259246
StandardMBean standardMBean = new StandardMBean(jmxMBean, MonitorMBean.class);
260247
mbeanServer.registerMBean(standardMBean, objectName);
261248
return jmxMBean;

services-discovery/src/test/java/io/scalecube/services/discovery/ScalecubeServiceDiscoveryTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.scalecube.services.ServiceRegistration;
1919
import io.scalecube.services.discovery.api.ServiceDiscovery;
2020
import io.scalecube.services.discovery.api.ServiceDiscoveryEvent;
21+
import io.scalecube.transport.netty.websocket.WebsocketTransportFactory;
2122
import java.nio.ByteBuffer;
2223
import java.time.Duration;
2324
import java.util.ArrayList;
@@ -224,16 +225,20 @@ private Mono<ServiceDiscovery> newServiceDiscovery(
224225
Address seedAddress, MetadataCodec metadataCodec) {
225226
return Mono.fromCallable(
226227
() ->
227-
new ScalecubeServiceDiscovery(newServiceEndpoint())
228+
new ScalecubeServiceDiscovery()
229+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
230+
.options(opts -> opts.metadata(newServiceEndpoint()))
228231
.options(opts -> opts.metadataCodec(metadataCodec))
229232
.gossip(cfg -> GOSSIP_CONFIG)
230233
.membership(cfg -> MEMBERSHIP_CONFIG)
231234
.membership(cfg -> cfg.seedMembers(seedAddress)));
232235
}
233236

234237
private void startSeed(MetadataCodec metadataCodec) {
235-
new ScalecubeServiceDiscovery(newServiceEndpoint())
238+
new ScalecubeServiceDiscovery()
239+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
236240
.membership(opts -> opts.seedMembers(SEED_ADDRESS))
241+
.options(opts -> opts.metadata(newServiceEndpoint()))
237242
.options(opts -> opts.metadataCodec(metadataCodec))
238243
.gossip(cfg -> GOSSIP_CONFIG)
239244
.membership(cfg -> MEMBERSHIP_CONFIG)

services-examples/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
<artifactId>scalecube-services-discovery</artifactId>
4040
<version>${project.version}</version>
4141
</dependency>
42+
<dependency>
43+
<groupId>io.scalecube</groupId>
44+
<artifactId>scalecube-transport-netty</artifactId>
45+
</dependency>
4246

4347
<dependency>
4448
<groupId>it.unimi.dsi</groupId>

services-examples/src/main/java/io/scalecube/services/examples/auth/PrincipalMapperAuthExample.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.scalecube.services.discovery.ScalecubeServiceDiscovery;
99
import io.scalecube.services.exceptions.UnauthorizedException;
1010
import io.scalecube.services.transport.rsocket.RSocketServiceTransport;
11+
import io.scalecube.transport.netty.websocket.WebsocketTransportFactory;
1112
import java.time.Duration;
1213
import java.util.HashMap;
1314
import java.util.Map;
@@ -24,7 +25,12 @@ public class PrincipalMapperAuthExample {
2425
public static void main(String[] args) {
2526
Microservices service =
2627
Microservices.builder()
27-
.discovery("service", ScalecubeServiceDiscovery::new)
28+
.discovery(
29+
"service",
30+
serviceEndpoint ->
31+
new ScalecubeServiceDiscovery()
32+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
33+
.options(opts -> opts.metadata(serviceEndpoint)))
2834
.transport(() -> new RSocketServiceTransport().authenticator(authenticator()))
2935
.services(
3036
ServiceInfo.fromServiceInstance(new SecuredServiceByApiKeyImpl())
@@ -152,7 +158,9 @@ private static ApiKey apiKeyPrincipalMapper(Map<String, String> authData) {
152158

153159
private static ScalecubeServiceDiscovery discovery(
154160
Microservices service, ServiceEndpoint endpoint) {
155-
return new ScalecubeServiceDiscovery(endpoint)
161+
return new ScalecubeServiceDiscovery()
162+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
163+
.options(opts -> opts.metadata(endpoint))
156164
.membership(opts -> opts.seedMembers(service.discovery("service").address()));
157165
}
158166
}

services-examples/src/main/java/io/scalecube/services/examples/auth/ServiceTransportAuthExample.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.scalecube.services.discovery.ScalecubeServiceDiscovery;
88
import io.scalecube.services.exceptions.UnauthorizedException;
99
import io.scalecube.services.transport.rsocket.RSocketServiceTransport;
10+
import io.scalecube.transport.netty.websocket.WebsocketTransportFactory;
1011
import java.time.Duration;
1112
import java.util.HashMap;
1213
import java.util.UUID;
@@ -22,7 +23,12 @@ public class ServiceTransportAuthExample {
2223
public static void main(String[] args) {
2324
Microservices service =
2425
Microservices.builder()
25-
.discovery("service", ScalecubeServiceDiscovery::new)
26+
.discovery(
27+
"service",
28+
serviceEndpoint ->
29+
new ScalecubeServiceDiscovery()
30+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
31+
.options(opts -> opts.metadata(serviceEndpoint)))
2632
.transport(() -> new RSocketServiceTransport().authenticator(authenticator()))
2733
.services(new SecuredServiceByUserProfileImpl())
2834
.startAwait();
@@ -71,7 +77,9 @@ private static CredentialsSupplier credsSupplier() {
7177

7278
private static ScalecubeServiceDiscovery discovery(
7379
Microservices service, ServiceEndpoint endpoint) {
74-
return new ScalecubeServiceDiscovery(endpoint)
80+
return new ScalecubeServiceDiscovery()
81+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
82+
.options(opts -> opts.metadata(endpoint))
7583
.membership(opts -> opts.seedMembers(service.discovery("service").address()));
7684
}
7785
}

services-examples/src/main/java/io/scalecube/services/examples/codecs/Example1.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.scalecube.services.examples.helloworld.service.GreetingServiceImpl;
77
import io.scalecube.services.examples.helloworld.service.api.GreetingsService;
88
import io.scalecube.services.transport.rsocket.RSocketServiceTransport;
9+
import io.scalecube.transport.netty.websocket.WebsocketTransportFactory;
910

1011
public class Example1 {
1112

@@ -22,7 +23,12 @@ public static void main(String[] args) {
2223
// ScaleCube Node node with no members
2324
Microservices seed =
2425
Microservices.builder()
25-
.discovery("seed", ScalecubeServiceDiscovery::new)
26+
.discovery(
27+
"seed",
28+
serviceEndpoint ->
29+
new ScalecubeServiceDiscovery()
30+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
31+
.options(opts -> opts.metadata(serviceEndpoint)))
2632
.transport(RSocketServiceTransport::new)
2733
.defaultContentType(PROTOSTUFF) // set explicit default data format
2834
.startAwait();
@@ -35,7 +41,9 @@ public static void main(String[] args) {
3541
.discovery(
3642
"ms",
3743
endpoint ->
38-
new ScalecubeServiceDiscovery(endpoint)
44+
new ScalecubeServiceDiscovery()
45+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
46+
.options(opts -> opts.metadata(endpoint))
3947
.membership(cfg -> cfg.seedMembers(seedAddress)))
4048
.transport(RSocketServiceTransport::new)
4149
.services(new GreetingServiceImpl())

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

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import io.scalecube.services.discovery.api.ServiceDiscoveryContext;
1010
import io.scalecube.services.examples.helloworld.service.api.Greeting;
1111
import io.scalecube.services.transport.rsocket.RSocketServiceTransport;
12+
import io.scalecube.transport.netty.websocket.WebsocketTransportFactory;
1213
import reactor.core.publisher.Mono;
1314

1415
public class CompositeDiscoveryExample {
@@ -24,7 +25,9 @@ public static void main(String[] args) {
2425
.discovery(
2526
"seed1",
2627
serviceEndpoint ->
27-
new ScalecubeServiceDiscovery(serviceEndpoint)
28+
new ScalecubeServiceDiscovery()
29+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
30+
.options(opts -> opts.metadata(serviceEndpoint))
2831
.options(opts -> opts.memberAlias("seed1")))
2932
.transport(RSocketServiceTransport::new)
3033
.startAwait();
@@ -34,7 +37,9 @@ public static void main(String[] args) {
3437
.discovery(
3538
"seed2",
3639
serviceEndpoint ->
37-
new ScalecubeServiceDiscovery(serviceEndpoint)
40+
new ScalecubeServiceDiscovery()
41+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
42+
.options(opts -> opts.metadata(serviceEndpoint))
3843
.options(opts -> opts.memberAlias("seed2")))
3944
.transport(RSocketServiceTransport::new)
4045
.startAwait();
@@ -47,7 +52,9 @@ public static void main(String[] args) {
4752
.discovery(
4853
"ms1",
4954
endpoint ->
50-
new ScalecubeServiceDiscovery(endpoint)
55+
new ScalecubeServiceDiscovery()
56+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
57+
.options(opts -> opts.metadata(endpoint))
5158
.options(opts -> opts.memberAlias("ms1"))
5259
.membership(cfg -> cfg.seedMembers(seed1Address)))
5360
.transport(RSocketServiceTransport::new)
@@ -59,7 +66,9 @@ public static void main(String[] args) {
5966
.discovery(
6067
"ms2",
6168
endpoint ->
62-
new ScalecubeServiceDiscovery(endpoint)
69+
new ScalecubeServiceDiscovery()
70+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
71+
.options(opts -> opts.metadata(endpoint))
6372
.options(opts -> opts.memberAlias("ms2"))
6473
.membership(cfg -> cfg.seedMembers(seed2Address)))
6574
.transport(RSocketServiceTransport::new)
@@ -71,13 +80,17 @@ public static void main(String[] args) {
7180
.discovery(
7281
"domain1",
7382
endpoint ->
74-
new ScalecubeServiceDiscovery(endpoint)
83+
new ScalecubeServiceDiscovery()
84+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
85+
.options(opts -> opts.metadata(endpoint))
7586
.options(opts -> opts.memberAlias("domain1"))
7687
.membership(cfg -> cfg.seedMembers(seed1Address)))
7788
.discovery(
7889
"domain2",
7990
endpoint ->
80-
new ScalecubeServiceDiscovery(endpoint)
91+
new ScalecubeServiceDiscovery()
92+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
93+
.options(opts -> opts.metadata(endpoint))
8194
.options(opts -> opts.memberAlias("domain2"))
8295
.membership(cfg -> cfg.seedMembers(seed2Address)))
8396
.transport(RSocketServiceTransport::new)

services-examples/src/main/java/io/scalecube/services/examples/exceptions/ExceptionMapperExample.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import io.scalecube.services.ServiceInfo;
66
import io.scalecube.services.discovery.ScalecubeServiceDiscovery;
77
import io.scalecube.services.transport.rsocket.RSocketServiceTransport;
8+
import io.scalecube.transport.netty.websocket.WebsocketTransportFactory;
89
import java.util.Collections;
910

1011
public class ExceptionMapperExample {
@@ -18,7 +19,12 @@ public class ExceptionMapperExample {
1819
public static void main(String[] args) throws InterruptedException {
1920
Microservices ms1 =
2021
Microservices.builder()
21-
.discovery("ms1", ScalecubeServiceDiscovery::new)
22+
.discovery(
23+
"ms1",
24+
serviceEndpoint ->
25+
new ScalecubeServiceDiscovery()
26+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
27+
.options(opts -> opts.metadata(serviceEndpoint)))
2228
.transport(RSocketServiceTransport::new)
2329
.defaultErrorMapper(new ServiceAProviderErrorMapper()) // default mapper for whole node
2430
.services(
@@ -36,7 +42,9 @@ public static void main(String[] args) throws InterruptedException {
3642
.discovery(
3743
"ms2",
3844
endpoint ->
39-
new ScalecubeServiceDiscovery(endpoint)
45+
new ScalecubeServiceDiscovery()
46+
.transport(cfg -> cfg.transportFactory(new WebsocketTransportFactory()))
47+
.options(opts -> opts.metadata(endpoint))
4048
.membership(cfg -> cfg.seedMembers(address1)))
4149
.transport(RSocketServiceTransport::new)
4250
.services(

0 commit comments

Comments
 (0)