-
Notifications
You must be signed in to change notification settings - Fork 5
/
Tools.java
28 lines (23 loc) · 936 Bytes
/
Tools.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package org.genericsystem.watch;
import java.util.function.Consumer;
import com.hazelcast.config.Config;
import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;
import io.vertx.core.spi.cluster.ClusterManager;
import io.vertx.spi.cluster.hazelcast.HazelcastClusterManager;
public class Tools {
public static void deployOnCluster(Consumer<Vertx> deployer) {
Config hazelcastConfig = new Config();
hazelcastConfig.setProperty("hazelcast.logging.type", "slf4j");
ClusterManager mgr = new HazelcastClusterManager(hazelcastConfig);
VertxOptions vertxOptions = new VertxOptions().setClustered(true).setClusterManager(mgr);
vertxOptions.setClusterHost(LocalNet.getIpAddress());
vertxOptions.setMaxWorkerExecuteTime(Long.MAX_VALUE);
Vertx.clusteredVertx(vertxOptions, res -> {
if (res.failed())
throw new IllegalStateException(res.cause());
Vertx vertx = res.result();
deployer.accept(vertx);
});
}
}