Last Updated
Viewed 05 Times
           

enter image description here

enter image description here

There were no errors in the values passed, no problems with access through the API tools, and Feign was not configured elsewhere

same code with spring boot version 1.3.8.RELEASE and cloud version 'Brixton.SR' works right. but '1.5.2.RELEASE' and 'Dalston.RC1' not work.

exception

HTTP Status 500 - Request processing failed; nested exception is java.lang.RuntimeException: com.netflix.client.ClientException: Load balancer does not have available server for client: math-service

I'm using a Feign configuration class, declared using the annotations like so;

@FeignClient(name = "${earfsdf}", configuration = FeignConf.class)

FeignConf in this case is not a Spring @Configuration, it's purely scoped for this Feign client using the above annotation. In the FeignConf, I'm declaring a RequestInterceptor bean;

@Bean
public RequestInterceptor requestInterceptor() {

This gets picked up by Feign correctly, and it's called when I make the request on the Feign client.

However, I want this RequestInterceptor bean to be able to access the Spring "RequestAttributes", which I'm trying to obtain using Spring's RequestContextHolder.getRequestAttributes()

It seems that when I call this from within the RequestInterceptor, it returns null. Is there some way I can propagate the RequestAttributes into the Feign RequestInterceptor to be available?

Thanks!

I want to manage retries. I have openfeign client, two micro-services. How to do it? When i set in my yaml configuration:

foo:
    ribbon:
        MaxAutoRetries:5

It doesn't work. In my pom.xml is Spring Cloud Greenwich RELEASE, spring-retry and open-feign dependencies. I don't use any service discovery.

I added to my feign method annotations: @FeignClient(name="foo", url="...") and @RibbonClient(name="foo").

I don't see any ribbon logs after start application and when i do http feign request. Should ribbon be configured on both microservices?

cc