<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>4.2.0</version> </dependency> import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.RetryNTimes; import org.apache.curator.x.discovery.ServiceDiscovery; import org.apache.curator.x.discovery.ServiceDiscoveryBuilder; import org.apache.curator.x.discovery.ServiceInstance; import org.apache.curator.x.discovery.UriSpec; public class ServiceDiscoveryExample { private static final String ZOOKEEPER_ADDRESS = "localhost:2181"; private static final String SERVICE_NAME = "myService"; public static void main(String[] args) { CuratorFramework client = CuratorFrameworkFactory.newClient(ZOOKEEPER_ADDRESS, new RetryNTimes(5, 1000)); client.start(); ServiceDiscovery serviceDiscovery = ServiceDiscoveryBuilder.builder(Void.class) .basePath("/services/" + SERVICE_NAME) .client(client) .build(); try { serviceDiscovery.start(); ServiceInstance<Void> instance = ServiceInstance.builder() .name(SERVICE_NAME) .uriSpec(new UriSpec("{scheme}://{address}:{port}")) .address("localhost") .port(8080) .build(); serviceDiscovery.registerService(instance); } catch (Exception e) { e.printStackTrace(); } finally { try { serviceDiscovery.close(); client.close(); } catch (Exception e) { e.printStackTrace(); } } } }


上一篇:
下一篇:
切换中文