Open
Description
Is your feature request related to a problem? Please describe.
My application needs to add a custom Client
like FeignBlockingLoadBalancerClient
, e.g.
public class CustomFeignBlockingLoadBalancerClient implements Client {
...
}
CustomFeignBlockingLoadBalancerClient
will add some extensions to FeignBlockingLoadBalancerClient
, like tracing.
This works pretty well when using load-balanced clients. But when mixed with load-balanced and non-load-balanced clients, FeignClientFactoryBean
hard coded to work with FeignBlockingLoadBalancerClient
to get the delegate
if (client != null) {
if (client instanceof FeignBlockingLoadBalancerClient) {
// not load balancing because we have a url,
// but Spring Cloud LoadBalancer is on the classpath, so unwrap
client = ((FeignBlockingLoadBalancerClient) client).getDelegate();
}
if (client instanceof RetryableFeignBlockingLoadBalancerClient) {
// not load balancing because we have a url,
// but Spring Cloud LoadBalancer is on the classpath, so unwrap
client = ((RetryableFeignBlockingLoadBalancerClient) client).getDelegate();
}
builder.client(client);
}
see #776
Describe the solution you'd like
see #776
Describe alternatives you've considered
see #776
Additional context
NA
This issue is created for future enhancement to loadbalancer client customization.