public final class DnsNameResolverProvider extends NameResolverProvider
DnsNameResolver.
It resolves a target URI whose scheme is "dns". The (optional) authority of the target
URI is reserved for the address of alternative DNS server (not implemented yet). The path of the
target URI, excluding the leading slash '/', is treated as the host name and the optional
port to be resolved by DNS. Example target URIs:
"dns:///foo.googleapis.com:8080" (using default DNS)"dns://8.8.8.8/foo.googleapis.com:8080" (using alternative DNS (not implemented
yet))"dns:///foo.googleapis.com" (without port)PARAMS_DEFAULT_PORTPARAMS_PROXY_DETECTOR| Constructor and Description |
|---|
DnsNameResolverProvider() |
| Modifier and Type | Method and Description |
|---|---|
String |
getDefaultScheme()
Returns the default scheme, which will be used to construct a URI when
ManagedChannelBuilder.forTarget(String) is given an authority string instead of a compliant
URI. |
protected boolean |
isAvailable()
Whether this provider is available for use, taking the current environment into consideration.
|
io.grpc.internal.DnsNameResolver |
newNameResolver(URI targetUri,
NameResolver.Args args)
Creates a
NameResolver for the given target URI, or null if the given URI
cannot be resolved by this factory. |
protected int |
priority()
A priority, from 0 to 10 that this provider should be used, taking the current environment into
consideration.
|
asFactory, providersnewNameResolver, newNameResolverpublic io.grpc.internal.DnsNameResolver newNameResolver(URI targetUri, NameResolver.Args args)
NameResolver.FactoryNameResolver for the given target URI, or null if the given URI
cannot be resolved by this factory. The decision should be solely based on the scheme of the
URI.newNameResolver in class NameResolver.FactorytargetUri - the target URI to be resolved, whose scheme must not be nullargs - other information that may be usefulpublic String getDefaultScheme()
NameResolver.FactoryManagedChannelBuilder.forTarget(String) is given an authority string instead of a compliant
URI.getDefaultScheme in class NameResolver.Factoryprotected boolean isAvailable()
NameResolverProviderfalse, no other methods are safe to be called.isAvailable in class NameResolverProviderprotected int priority()
NameResolverProviderpriority in class NameResolverProvider