Package io.micronaut.http.client
Class DefaultLoadBalancerResolver
- java.lang.Object
-
- io.micronaut.http.client.DefaultLoadBalancerResolver
-
- All Implemented Interfaces:
LoadBalancerResolver
@Singleton public class DefaultLoadBalancerResolver extends java.lang.Object implements LoadBalancerResolver
Abstraction over
LoadBalancerlookup. The strategy is as follows:- If a reference starts with '/' then we attempt to look up the
EmbeddedServer - If the reference contains a '/' assume it is a URL and try to create a URL reference to it
- Otherwise delegate to the
DiscoveryClientto attempt to resolve the URIs
- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description DefaultLoadBalancerResolver(io.micronaut.context.BeanContext beanContext, io.micronaut.discovery.ServiceInstanceList... serviceInstanceLists)The default server loadbalance resolver.DefaultLoadBalancerResolver(io.micronaut.context.BeanContext beanContext, java.util.List<io.micronaut.discovery.ServiceInstanceList> serviceInstanceLists)The default server loadbalance resolver.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<? extends LoadBalancer>resolve(java.lang.String... serviceReferences)Resolve aLoadBalancerfor the given references.protected java.util.Optional<? extends LoadBalancer>resolveLoadBalancerForServiceID(java.lang.String serviceID)
-
-
-
Constructor Detail
-
DefaultLoadBalancerResolver
public DefaultLoadBalancerResolver(io.micronaut.context.BeanContext beanContext, io.micronaut.discovery.ServiceInstanceList... serviceInstanceLists)The default server loadbalance resolver.- Parameters:
beanContext- The bean contextserviceInstanceLists- Any other providers
-
DefaultLoadBalancerResolver
@Inject public DefaultLoadBalancerResolver(io.micronaut.context.BeanContext beanContext, java.util.List<io.micronaut.discovery.ServiceInstanceList> serviceInstanceLists)The default server loadbalance resolver.- Parameters:
beanContext- The bean contextserviceInstanceLists- Any other providers
-
-
Method Detail
-
resolve
public java.util.Optional<? extends LoadBalancer> resolve(java.lang.String... serviceReferences)
Description copied from interface:LoadBalancerResolverResolve aLoadBalancerfor the given references.- Specified by:
resolvein interfaceLoadBalancerResolver- Parameters:
serviceReferences- The references. These could be service IDs or fully HTTP URLs- Returns:
- A
LoadBalanceror empty of non can be resolved
-
resolveLoadBalancerForServiceID
protected java.util.Optional<? extends LoadBalancer> resolveLoadBalancerForServiceID(java.lang.String serviceID)
- Parameters:
serviceID- The service Id- Returns:
- An
Optionalwith the load balancer
-
-