diff --git a/jetcd-core/src/main/java/io/etcd/jetcd/ClientConnectionManager.java b/jetcd-core/src/main/java/io/etcd/jetcd/ClientConnectionManager.java index 0228be8b1..37b990ffd 100644 --- a/jetcd-core/src/main/java/io/etcd/jetcd/ClientConnectionManager.java +++ b/jetcd-core/src/main/java/io/etcd/jetcd/ClientConnectionManager.java @@ -44,7 +44,7 @@ import io.etcd.jetcd.common.exception.ErrorCode; import io.etcd.jetcd.common.exception.EtcdExceptionFactory; import io.etcd.jetcd.resolver.DnsSrvNameResolver; -import io.etcd.jetcd.resolver.EtcdNameResolver; +import io.etcd.jetcd.resolver.IPNameResolver; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; @@ -221,13 +221,16 @@ protected ManagedChannelBuilder defaultChannelBuilder(Collection endpoin } else { target = String.format( "%s://%s/%s", - EtcdNameResolver.SCHEME, + IPNameResolver.SCHEME, builder.authority() != null ? builder.authority() : "", endpoints.stream().map(e -> e.getHost() + ":" + e.getPort()).collect(Collectors.joining(","))); } final NettyChannelBuilder channelBuilder = NettyChannelBuilder.forTarget(target); + if (builder.authority() != null) { + channelBuilder.overrideAuthority(builder.authority()); + } if (builder.maxInboundMessageSize() != null) { channelBuilder.maxInboundMessageSize(builder.maxInboundMessageSize()); } diff --git a/jetcd-core/src/main/java/io/etcd/jetcd/resolver/DnsSrvNameResolver.java b/jetcd-core/src/main/java/io/etcd/jetcd/resolver/DnsSrvNameResolver.java index fba76ea0f..0a802db86 100644 --- a/jetcd-core/src/main/java/io/etcd/jetcd/resolver/DnsSrvNameResolver.java +++ b/jetcd-core/src/main/java/io/etcd/jetcd/resolver/DnsSrvNameResolver.java @@ -33,7 +33,6 @@ import com.google.common.base.Preconditions; import com.google.common.base.Splitter; -import com.google.common.base.Strings; import io.etcd.jetcd.common.exception.ErrorCode; import io.etcd.jetcd.common.exception.EtcdExceptionFactory; import io.grpc.EquivalentAddressGroup; @@ -141,11 +140,7 @@ private void doResolve() { // groups.add(new EquivalentAddressGroup( address, - Strings.isNullOrEmpty(authority) - ? io.grpc.Attributes.newBuilder() - .set(EquivalentAddressGroup.ATTR_AUTHORITY_OVERRIDE, targetUri.getAuthority()) - .build() - : io.grpc.Attributes.EMPTY)); + io.grpc.Attributes.EMPTY)); } if (groups.isEmpty()) { diff --git a/jetcd-core/src/main/java/io/etcd/jetcd/resolver/EtcdNameResolver.java b/jetcd-core/src/main/java/io/etcd/jetcd/resolver/IPNameResolver.java similarity index 89% rename from jetcd-core/src/main/java/io/etcd/jetcd/resolver/EtcdNameResolver.java rename to jetcd-core/src/main/java/io/etcd/jetcd/resolver/IPNameResolver.java index 3aaa9476b..57ba75050 100644 --- a/jetcd-core/src/main/java/io/etcd/jetcd/resolver/EtcdNameResolver.java +++ b/jetcd-core/src/main/java/io/etcd/jetcd/resolver/IPNameResolver.java @@ -27,7 +27,6 @@ import com.google.common.base.Preconditions; import com.google.common.base.Splitter; -import com.google.common.base.Strings; import com.google.common.collect.Iterables; import io.etcd.jetcd.common.exception.ErrorCode; import io.etcd.jetcd.common.exception.EtcdExceptionFactory; @@ -39,10 +38,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class EtcdNameResolver extends NameResolver { - public static final String SCHEME = "etcd"; +public class IPNameResolver extends NameResolver { + public static final String SCHEME = "ip"; - private static final Logger LOGGER = LoggerFactory.getLogger(EtcdNameResolver.class); + private static final Logger LOGGER = LoggerFactory.getLogger(IPNameResolver.class); private static final String ETCD_CLIENT_PORT = "2379"; private final Object lock; @@ -58,7 +57,7 @@ public class EtcdNameResolver extends NameResolver { @GuardedBy("lock") private Listener listener; - public EtcdNameResolver(URI targetUri) { + public IPNameResolver(URI targetUri) { this.lock = new Object(); this.targetUri = targetUri; this.authority = targetUri.getAuthority() != null ? targetUri.getAuthority() : SCHEME; @@ -76,11 +75,7 @@ public EtcdNameResolver(URI targetUri) { }).map(address -> { return new EquivalentAddressGroup( address, - Strings.isNullOrEmpty(authority) - ? io.grpc.Attributes.newBuilder() - .set(EquivalentAddressGroup.ATTR_AUTHORITY_OVERRIDE, targetUri.getAuthority()) - .build() - : io.grpc.Attributes.EMPTY); + io.grpc.Attributes.EMPTY); }).collect(Collectors.toList()); } diff --git a/jetcd-core/src/main/java/io/etcd/jetcd/resolver/EtcdResolverProvider.java b/jetcd-core/src/main/java/io/etcd/jetcd/resolver/IPResolverProvider.java similarity index 84% rename from jetcd-core/src/main/java/io/etcd/jetcd/resolver/EtcdResolverProvider.java rename to jetcd-core/src/main/java/io/etcd/jetcd/resolver/IPResolverProvider.java index 97da0cca4..47d8f19e5 100644 --- a/jetcd-core/src/main/java/io/etcd/jetcd/resolver/EtcdResolverProvider.java +++ b/jetcd-core/src/main/java/io/etcd/jetcd/resolver/IPResolverProvider.java @@ -25,7 +25,7 @@ import io.grpc.NameResolverProvider; @AutoService(NameResolverProvider.class) -public class EtcdResolverProvider extends NameResolverProvider { +public class IPResolverProvider extends NameResolverProvider { @Override protected boolean isAvailable() { return true; @@ -38,14 +38,14 @@ protected int priority() { @Override public String getDefaultScheme() { - return EtcdNameResolver.SCHEME; + return IPNameResolver.SCHEME; } @Nullable @Override public NameResolver newNameResolver(URI targetUri, NameResolver.Args args) { - return EtcdNameResolver.SCHEME.equals(targetUri.getScheme()) - ? new EtcdNameResolver(targetUri) + return IPNameResolver.SCHEME.equals(targetUri.getScheme()) + ? new IPNameResolver(targetUri) : null; } }