diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java new file mode 100644 index 0000000000..184a1e2213 --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/leadership/LeadershipElection.java @@ -0,0 +1,16 @@ +package com.baeldung.spring.cloud.consul.leadership; + +import java.util.concurrent.ExecutionException; + +import net.kinguin.leadership.consul.factory.SimpleConsulClusterFactory; + +public class LeadershipElection { + public static void main(String[] args) throws ExecutionException, InterruptedException { + new SimpleConsulClusterFactory() + .mode(SimpleConsulClusterFactory.MODE_MULTI) + .debug(true) + .build() + .asObservable() + .subscribe(i -> System.out.println(i)); + } +} diff --git a/spring-cloud/spring-cloud-consul/src/main/resources/application.yml b/spring-cloud/spring-cloud-consul/src/main/resources/application.yml index ccdc3fdeee..85cfb35685 100644 --- a/spring-cloud/spring-cloud-consul/src/main/resources/application.yml +++ b/spring-cloud/spring-cloud-consul/src/main/resources/application.yml @@ -11,4 +11,19 @@ spring: enabled: true instanceId: ${spring.application.name}:${random.value} server: - port: 0 \ No newline at end of file + port: 0 + +cluster: + leader: + serviceName: cluster + serviceId: node-1 + consul: + host: localhost + port: 8500 + discovery: + enabled: false + session: + ttl: 15 + refresh: 7 + election: + envelopeTemplate: services/%s/leader \ No newline at end of file