Package io.grpc.protobuf.services
Class HealthCheckingLoadBalancerUtil
- java.lang.Object
-
- io.grpc.protobuf.services.HealthCheckingLoadBalancerUtil
-
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/5025") public final class HealthCheckingLoadBalancerUtil extends Object
Utility for enabling client-side health checking forLoadBalancer
s.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static LoadBalancer
newHealthCheckingLoadBalancer(LoadBalancer.Factory factory, LoadBalancer.Helper helper)
Creates a health-checking-capable LoadBalancer.
-
-
-
Method Detail
-
newHealthCheckingLoadBalancer
public static LoadBalancer newHealthCheckingLoadBalancer(LoadBalancer.Factory factory, LoadBalancer.Helper helper)
Creates a health-checking-capable LoadBalancer. This method is used to implement health-checking-capableLoadBalancer.Factory
s, which will typically written this way:public class HealthCheckingFooLbFactory extends LoadBalancer.Factory { // This is the original balancer implementation that doesn't have health checking private final LoadBalancer.Factory fooLbFactory; ... // Returns the health-checking-capable version of FooLb public LoadBalancer newLoadBalancer(Helper helper) { return HealthCheckingLoadBalancerUtil.newHealthCheckingLoadBalancer(fooLbFactory, helper); } }
As a requirement for the original LoadBalancer, it must call
Helper.createSubchannel()
from theSynchronization Context
, orcreateSubchannel()
will throw.- Parameters:
factory
- the original factory that implements load-balancing logic without health checkinghelper
- the helper passed to the resulting health-checking LoadBalancer.
-
-