Package io.grpc
Class ManagedChannelRegistry
- java.lang.Object
-
- io.grpc.ManagedChannelRegistry
-
@Internal @ThreadSafe public final class ManagedChannelRegistry extends java.lang.Object
Registry ofManagedChannelProviders. Thedefault instanceloads providers at runtime through the Java service provider mechanism.- Since:
- 1.32.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classManagedChannelRegistry.ManagedChannelPriorityAccessorstatic classManagedChannelRegistry.ProviderNotFoundExceptionThrown when no suitableManagedChannelProviderobjects can be found.
-
Field Summary
Fields Modifier and Type Field Description private java.util.LinkedHashSet<ManagedChannelProvider>allProvidersprivate java.util.List<ManagedChannelProvider>effectiveProvidersImmutable, sorted version ofallProviders.private static ManagedChannelRegistryinstanceprivate static java.util.logging.Loggerlogger
-
Constructor Summary
Constructors Constructor Description ManagedChannelRegistry()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddProvider(ManagedChannelProvider provider)voidderegister(ManagedChannelProvider provider)Deregisters a provider.static ManagedChannelRegistrygetDefaultRegistry()Returns the default registry that loads providers via the Java service loader mechanism.(package private) static java.util.List<java.lang.Class<?>>getHardCodedClasses()(package private) ManagedChannelBuilder<?>newChannelBuilder(NameResolverRegistry nameResolverRegistry, java.lang.String target, ChannelCredentials creds)(package private) ManagedChannelBuilder<?>newChannelBuilder(java.lang.String target, ChannelCredentials creds)(package private) ManagedChannelProviderprovider()(package private) java.util.List<ManagedChannelProvider>providers()Returns effective providers, in priority order.private voidrefreshProviders()voidregister(ManagedChannelProvider provider)Register a provider.
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
instance
private static ManagedChannelRegistry instance
-
allProviders
private final java.util.LinkedHashSet<ManagedChannelProvider> allProviders
-
effectiveProviders
private java.util.List<ManagedChannelProvider> effectiveProviders
Immutable, sorted version ofallProviders. Is replaced instead of mutating.
-
-
Method Detail
-
register
public void register(ManagedChannelProvider provider)
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
private void addProvider(ManagedChannelProvider provider)
-
deregister
public void deregister(ManagedChannelProvider provider)
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.ManagedChannelProvider).
-
refreshProviders
private void refreshProviders()
-
getDefaultRegistry
public static ManagedChannelRegistry getDefaultRegistry()
Returns the default registry that loads providers via the Java service loader mechanism.
-
providers
java.util.List<ManagedChannelProvider> providers()
Returns effective providers, in priority order.
-
provider
ManagedChannelProvider provider()
-
getHardCodedClasses
static java.util.List<java.lang.Class<?>> getHardCodedClasses()
-
newChannelBuilder
ManagedChannelBuilder<?> newChannelBuilder(java.lang.String target, ChannelCredentials creds)
-
newChannelBuilder
ManagedChannelBuilder<?> newChannelBuilder(NameResolverRegistry nameResolverRegistry, java.lang.String target, ChannelCredentials creds)
-
-