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 forLoadBalancers.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static LoadBalancernewHealthCheckingLoadBalancer(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.Factorys, 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.
-
-