如何解决超时假装客户

我的应用程序在使用 在 SQL Server 中使用 执行查询的服务时出错。FeignClient

错误:

线程“pool-10-thread-14”假装中的异常。重试异常:读取超时执行 GET http://127.0.0.1:8876/processoData/search/buscaProcessoPorCliente?cliente=ELEKTRO+-+TRABALHISTA&estado=SP

我的消费者服务:

@FeignClient(url="http://127.0.0.1:8876")
public interface ProcessoConsumer {

@RequestMapping(method = RequestMethod.GET, value = "/processoData/search/buscaProcessoPorCliente?cliente={cliente}&estado={estado}")
public PagedResources<ProcessoDTO> buscaProcessoClienteEstado(@PathVariable("cliente") String cliente, @PathVariable("estado") String estado);

}

我的 YML:

server:
  port: 8874

endpoints:
  restart:
    enabled: true
  shutdown:
    enabled: true
  health:
    sensitive: false

eureka:
  client:
  serviceUrl:
    defaultZone: ${vcap.services.eureka-service.credentials.uri:http://xxx.xx.xxx.xx:8764}/eureka/
  instance: 
    preferIpAddress: true

ribbon:
  eureka:
    enabled: true

spring:
  application:
    name: MyApplication
  data:
    mongodb:
      host: xxx.xx.xxx.xx
      port: 27017
      uri: mongodb://xxx.xx.xxx.xx/recortesExtrator
      repositories.enabled: true
    solr:
      host: http://xxx.xx.xxx.xx:8983/solr
      repositories.enabled: true

有人知道如何解决这个问题吗?

谢谢。


答案 1

将以下属性添加到文件中(以毫秒为单位)。application.properties

feign.client.config.default.connectTimeout=160000000
feign.client.config.default.readTimeout=160000000

答案 2

我正在使用实例化我的假装客户端。Feign.builder()

为了设置 和 ,我使用以下:connectTimeoutreadTimeout

Feign.builder()
     ...
     .options(new Request.Options(connectTimeout, readTimeout))
     .target(MyApiInterface.class, url);

使用此功能,我可以为不同的API配置不同的超时。


推荐