Package io.grpc
Class NameResolverRegistry
java.lang.Object
io.grpc.NameResolverRegistry
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/4159")
@ThreadSafe
public final class NameResolverRegistry
extends Object
Registry of
NameResolverProvider
s. The default instance
loads providers at runtime through the Java service provider mechanism.- Since:
- 1.21.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final LinkedHashSet
<NameResolverProvider> private String
private com.google.common.collect.ImmutableMap
<String, NameResolverProvider> Generated fromallProviders
.private final NameResolver.Factory
private static NameResolverRegistry
private static final Logger
private static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addProvider
(NameResolverProvider provider) void
deregister
(NameResolverProvider provider) Deregisters a provider.static NameResolverRegistry
Returns the default registry that loads providers via the Java service loader mechanism.getProviderForScheme
(String scheme) (package private) Map
<String, NameResolverProvider> Returns effective providers map from scheme to the highest priority NameResolverProvider of that scheme.private void
void
register
(NameResolverProvider provider) Register a provider.
-
Field Details
-
logger
-
instance
-
factory
-
UNKNOWN_SCHEME
- See Also:
-
defaultScheme
-
allProviders
-
effectiveProviders
Generated fromallProviders
. Is mapping from scheme key to the highest priorityNameResolverProvider
. Is replaced instead of mutating.
-
-
Constructor Details
-
NameResolverRegistry
public NameResolverRegistry()
-
-
Method Details
-
getDefaultScheme
-
getProviderForScheme
-
register
Register a provider.If the provider's
isAvailable()
returnsfalse
, this method will throwIllegalArgumentException
.Providers will be used in priority order. In case of ties, providers are used in registration order.
-
addProvider
-
deregister
Deregisters a provider. No-op if the provider is not in the registry.- Parameters:
provider
- the provider that was added to the register viaregister(io.grpc.NameResolverProvider)
.
-
refreshProviders
private void refreshProviders() -
getDefaultRegistry
Returns the default registry that loads providers via the Java service loader mechanism. -
providers
Map<String,NameResolverProvider> providers()Returns effective providers map from scheme to the highest priority NameResolverProvider of that scheme. -
asFactory
-
getHardCodedClasses
-