@Override public T nameResolverFactory(NameResolver.Factory resolverFactory) { delegate().nameResolverFactory(resolverFactory); return thisT(); }
@Override public T nameResolverFactory(NameResolver.Factory resolverFactory) { delegate().nameResolverFactory(resolverFactory); return thisT(); }
.nameResolverFactory(new ControllerResolverFactory()) .loadBalancerFactory(LoadBalancerRegistry.getDefaultRegistry().getProvider("round_robin")) .usePlaintext()
public static void main(String[] args) throws Exception { String host = args[0]; int port = Integer.parseInt(args[1]); String abstractName = "mesh://timeService"; // Open a channel to the server Channel channel = ManagedChannelBuilder .forTarget(abstractName) .nameResolverFactory(StaticResolver.factory(new InetSocketAddress(host, port))) .usePlaintext(true) .build(); // Create a CompletableFuture-based stub TimeServiceGrpc8.TimeServiceCompletableFutureStub stub = TimeServiceGrpc8.newCompletableFutureStub(channel); // Call the service CompletableFuture<TimeReply> completableFuture = stub.getTime(Empty.getDefaultInstance()); TimeReply timeReply = completableFuture.get(); // Convert to JDK8 types Instant now = MoreTimestamps.toInstantUtc(timeReply.getTime()); System.out.println("The time is " + now); } }
<T extends AbstractStub<T>, R> CompletableFuture<R> withNewChannel( URI endpoint, Function<ManagedChannel, T> stubCustomizer, Function<T, CompletableFuture<R>> stubConsumer) { final ManagedChannel channel = defaultChannelBuilder() .nameResolverFactory( forEndpoints( Util.supplyIfNull(builder.authority(), () -> "etcd"), Collections.singleton(endpoint), Util.supplyIfNull(builder.uriResolverLoader(), URIResolverLoader::defaultLoader) ) ).build(); try { T stub = stubCustomizer.apply(channel); return stubConsumer.apply(stub).whenComplete( (r, t) -> channel.shutdown() ); } catch (Exception e) { channel.shutdown(); throw EtcdExceptionFactory.toEtcdException(e); } }
<T extends AbstractStub<T>, R> CompletableFuture<R> withNewChannel( URI endpoint, Function<ManagedChannel, T> stubCustomizer, Function<T, CompletableFuture<R>> stubConsumer) { final ManagedChannel channel = defaultChannelBuilder() .nameResolverFactory( forEndpoints( Util.supplyIfNull(builder.authority(), () -> "etcd"), Collections.singleton(endpoint), Util.supplyIfNull(builder.uriResolverLoader(), URIResolverLoader::defaultLoader) ) ).build(); try { T stub = stubCustomizer.apply(channel); return stubConsumer.apply(stub).whenComplete( (r, t) -> channel.shutdown() ); } catch (Exception e) { channel.shutdown(); throw EtcdExceptionFactory.toEtcdException(e); } }
} else if (null == uri.getServiceName() || ServiceURI.SERVICE_BK.equals(uri.getServiceName())) { builder = ManagedChannelBuilder.forTarget(serviceUri) .nameResolverFactory(new ServiceNameResolverProvider().toFactory()); } else { NameResolverFactoryProvider provider; .nameResolverFactory(provider.toFactory());