T - corresponds to Target.type()public class LoadBalancingTarget<T>
extends java.lang.Object
implements feign.Target<T>
loadbalancer-aware targets.
Using this will enable dynamic url discovery via ribbon including incrementing server request
counts. MyService api = Feign.builder().target(LoadBalancingTarget.create(MyService.class, "http://myAppProd"))Where
myAppProd is the ribbon loadbalancer name and myAppProd.ribbon.listOfServers configuration is set.| Modifier | Constructor and Description |
|---|---|
protected |
LoadBalancingTarget(java.lang.Class<T> type,
java.lang.String scheme,
java.lang.String name) |
| Modifier and Type | Method and Description |
|---|---|
feign.Request |
apply(feign.RequestTemplate input) |
static <T> LoadBalancingTarget<T> |
create(java.lang.Class<T> type,
java.lang.String schemeName)
creates a target which dynamically derives urls from a
loadbalancer. |
boolean |
equals(java.lang.Object obj) |
int |
hashCode() |
com.netflix.loadbalancer.AbstractLoadBalancer |
lb()
current load balancer for the target.
|
java.lang.String |
name() |
java.lang.String |
toString() |
java.lang.Class<T> |
type() |
java.lang.String |
url() |
protected LoadBalancingTarget(java.lang.Class<T> type, java.lang.String scheme, java.lang.String name)
public static <T> LoadBalancingTarget<T> create(java.lang.Class<T> type, java.lang.String schemeName)
loadbalancer.type - corresponds to Target.type()schemeName - naming convention is https://name or http://name where name
corresponds to ClientFactory.getNamedLoadBalancer(String)public java.lang.String name()
name in interface feign.Target<T>public java.lang.String url()
url in interface feign.Target<T>public com.netflix.loadbalancer.AbstractLoadBalancer lb()
public feign.Request apply(feign.RequestTemplate input)
apply in interface feign.Target<T>public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object