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_PORT
PARAMS_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.Helper helper)
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, providers
newNameResolver
public io.grpc.internal.DnsNameResolver newNameResolver(URI targetUri, NameResolver.Helper helper)
NameResolver.Factory
NameResolver
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.Factory
targetUri
- the target URI to be resolved, whose scheme must not be null
helper
- utility that may be used by the NameResolver implementationpublic String getDefaultScheme()
NameResolver.Factory
ManagedChannelBuilder.forTarget(String)
is given an authority string instead of a compliant
URI.getDefaultScheme
in class NameResolver.Factory
protected boolean isAvailable()
NameResolverProvider
false
, no other methods are safe to be called.isAvailable
in class NameResolverProvider
protected int priority()
NameResolverProvider
priority
in class NameResolverProvider
Copyright © 2019. All rights reserved.