@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/1771") @ThreadSafe public final class LoadBalancerRegistry extends Object
LoadBalancerProviders. The default instance
loads providers at runtime through the Java service provider mechanism.| Constructor and Description |
|---|
LoadBalancerRegistry() |
| Modifier and Type | Method and Description |
|---|---|
void |
deregister(LoadBalancerProvider provider)
Deregisters a provider.
|
static LoadBalancerRegistry |
getDefaultRegistry()
Returns the default registry that loads providers via the Java service loader mechanism.
|
LoadBalancerProvider |
getProvider(String policy)
Returns the effective provider for the given load-balancing policy, or
null if no
suitable provider can be found. |
void |
register(LoadBalancerProvider provider)
Register a provider.
|
public void register(LoadBalancerProvider provider)
If the provider's isAvailable() returns
false, this method will throw IllegalArgumentException.
If more than one provider with the same policy
name are registered, the one with the highest priority will be effective. If there are more than one name-sake providers rank the highest
priority, the one registered first will be effective.
public void deregister(LoadBalancerProvider provider)
register(io.grpc.LoadBalancerProvider).provider - the provider that was added to the register via register(io.grpc.LoadBalancerProvider).public static LoadBalancerRegistry getDefaultRegistry()
@Nullable public LoadBalancerProvider getProvider(String policy)
null if no
suitable provider can be found. Each provider declares its policy name via LoadBalancerProvider.getPolicyName().