@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/4159") public abstract class NameResolverProvider extends NameResolver.Factory
Implementations can be automatically discovered by gRPC via Java's SPI mechanism. For
automatic discovery, the implementation must have a zero-argument constructor and include
a resource named META-INF/services/io.grpc.NameResolverProvider
in their JAR. The
file's contents should be the implementation's class name. Implementations that need arguments in
their constructor can be manually registered by NameResolverRegistry.register(io.grpc.NameResolverProvider)
.
Implementations should not throw. If they do, it may interrupt class loading. If
exceptions may reasonably occur for implementation-specific reasons, implementations should
generally handle the exception gracefully and return false
from isAvailable()
.
Constructor and Description |
---|
NameResolverProvider() |
Modifier and Type | Method and Description |
---|---|
protected abstract boolean |
isAvailable()
Whether this provider is available for use, taking the current environment into consideration.
|
protected abstract int |
priority()
A priority, from 0 to 10 that this provider should be used, taking the current environment into
consideration.
|
getDefaultScheme, newNameResolver
protected abstract boolean isAvailable()
false
, no other methods are safe to be called.protected abstract int priority()