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
NameResolverProviders. 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 classprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final LinkedHashSet<NameResolverProvider> private Stringprivate com.google.common.collect.ImmutableMap<String, NameResolverProvider> Generated fromallProviders.private final NameResolver.Factoryprivate static NameResolverRegistryprivate static final Loggerprivate static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddProvider(NameResolverProvider provider) voidderegister(NameResolverProvider provider) Deregisters a provider.static NameResolverRegistryReturns 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 voidvoidregister(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
-