为什么伪客户端超时设置(如文档中所示)不起作用?

时间:2019-12-17 11:25:59

标签: spring-boot spring-cloud spring-cloud-netflix spring-cloud-feign

我尝试配置official documentation上定义的伪客户端连接超时,但是它不起作用。
该应用只是简单的演示应用。

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);

}

第一次尝试:使用配置类
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);
    }

}

使用spring doc上定义的application.yml进行第二次尝试(复制粘贴)

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

但没有效果。
在stackoverflow(thisthis)上发现了几个问题,但没有一个可以解决。 我没有使用hystrix。这是我的gradle文件

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'
    }
}

我正在将Boot 2.2与Spring Cloud Hoxton.RELEASE一起使用。 知道如何解决这个问题吗?

0 个答案:

没有答案