@Override public ServiceInstance<String> getInstance(String serviceName) throws Exception { if(!providers.containsKey(serviceName)) { ServiceProvider<String> p = discovery.serviceProviderBuilder() .serviceName(serviceName) .providerStrategy(new RoundRobinStrategy<String>()) .build(); p.start(); providers.put(serviceName, p); } return providers.get(serviceName).getInstance(); }
@Override public ServiceInstance<String> getInstance(String serviceName) throws Exception { if(!providers.containsKey(serviceName)) { ServiceProvider<String> p = discovery.serviceProviderBuilder() .serviceName(serviceName) .providerStrategy(new RoundRobinStrategy<String>()) .build(); p.start(); providers.put(serviceName, p); } return providers.get(serviceName).getInstance(); }
public ServiceInstance<MetaData> getInstanceByName(ServiceDiscovery<MetaData> serviceDiscovery, String serviceName) throws Exception { ServiceProvider<MetaData> serviceProvider = serviceProviders.get(serviceName); if (serviceProvider == null) { serviceProvider = serviceDiscovery.serviceProviderBuilder(). serviceName(serviceName). providerStrategy(new RoundRobinStrategy<MetaData>()) .build(); serviceProvider.start(); serviceProviders.put(serviceName, serviceProvider); } return serviceProvider.getInstance(); }
private static void listRandomInstance(String[] args, ServiceDiscovery<InstanceDetails> serviceDiscovery, Map<String, ServiceProvider<InstanceDetails>> providers, String command) throws Exception { // this shows how to use a ServiceProvider // in a real application you'd create the ServiceProvider early for the // service(s) you're interested in if (args.length != 1) { System.err.println("syntax error (expected random <name>): " + command); return; } String serviceName = args[0]; ServiceProvider<InstanceDetails> provider = providers.get(serviceName); if (provider == null) { provider = serviceDiscovery.serviceProviderBuilder().serviceName(serviceName).providerStrategy(new RandomStrategy<InstanceDetails>()).build(); providers.put(serviceName, provider); provider.start(); Thread.sleep(2500); // give the provider time to warm up - in a real // application you wouldn't need to do this } ServiceInstance<InstanceDetails> instance = provider.getInstance(); if (instance == null) { System.err.println("No instances named: " + serviceName); } else { outputInstance(instance); } }
private static void listRandomInstance(String[] args, ServiceDiscovery<InstanceDetails> serviceDiscovery, Map<String, ServiceProvider<InstanceDetails>> providers, String command) throws Exception { // this shows how to use a ServiceProvider // in a real application you'd create the ServiceProvider early for the service(s) you're interested in if ( args.length != 1 ) { System.err.println("syntax error (expected random <name>): " + command); return; } String serviceName = args[0]; ServiceProvider<InstanceDetails> provider = providers.get(serviceName); if ( provider == null ) { provider = serviceDiscovery.serviceProviderBuilder().serviceName(serviceName).providerStrategy(new RandomStrategy<InstanceDetails>()).build(); providers.put(serviceName, provider); provider.start(); Thread.sleep(2500); // give the provider time to warm up - in a real application you wouldn't need to do this } ServiceInstance<InstanceDetails> instance = provider.getInstance(); if ( instance == null ) { System.err.println("No instances named: " + serviceName); } else { outputInstance(instance); } }