0

I try to configure feign client connect timeout, as defined on official documentation, but it does not work.
The app is just simple demo app.

MyFeign.java

package com.example.demo;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@FeignClient(name = "myFeign", url = "localhost:9047/payroll", configuration = FeignConfig.class)
public interface MyFeign {

    @GetMapping(value = "/api/master/{employee_id}")
    ResponseEntity<String> disableMasterPayroll(@PathVariable(name = "employee_id") String employeeId);

}

1st attempt : using configuration class
FeignConfig.java

package com.example.demo;

import org.springframework.context.annotation.Configuration;

import feign.Request;

@Configuration
public class FeignConfig {

    public Request.Options feignRequestOptionsCustom() {
        return new Request.Options(5000, 5000);
    }

}

2nd attempt, using application.yml as defined on spring doc (copy-paste it)

feign:
  hystrix:
    enabled: false
  client:
    config:
      default:
        connectTimeout: 5000
        readTimeout: 5000
        loggerLevel: basic

But none works.
Found several question on stackoverflow (this, this), but none resolve it. I did not use hystrix. This is my gradle file

dependencies {
    implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

I'm using boot 2.2 with spring cloud Hoxton.RELEASE. Any idea how to solve this?

Timothy
  • 855
  • 1
  • 13
  • 29

0 Answers0