OpenFeign远程调用超时配置不生效

OpenFeign远程调用超时配置不生效

一开始的配置

feign:
  httpclient:
    connection-timeout: 5000
    connection-timer-repeat: 5000

修改后的配置

feign:
  client:
    config:
      default:
        connectTimeout: 5000
        readTimeout: 5000

如果出现如下内容的错误

feign.RetryableException: Incomplete output stream executing POST

添加以下依赖即可

<dependency>
    <groupId>io.github.openfeign</groupId>
    <artifactId>feign-httpclient</artifactId>
</dependency>

如果对你有帮助,请留下脚印👣让我知道哦!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 OpenFeign 远程调用超时问题,你可以通过以下方式来处理: 1. 全局超时设置:在 Feign配置类中,使用 `@Configuration` 注解,并创建一个 `Request.Options` bean。在 `Request.Options` 中,你可以设置连接超时时间、读取超时时间等。例如: ```java @Configuration public class FeignConfig { @Bean public Request.Options requestOptions() { return new Request.Options(5000, 10000); // 连接超时时间为5秒,读取超时时间为10秒 } } ``` 2. 单个接口的超时设置:在需要设置超时时间的 Feign 接口的方法上,使用 `@FeignClient` 注解的 `configuration` 属性指定一个配置类,然后在该配置类中进行超时设置。例如: ```java @FeignClient(name = "example", url = "http://example.com", configuration = MyFeignConfig.class) public interface ExampleClient { @GetMapping("/api/some-resource") @Headers("Content-Type: application/json") @Timeout(value = 5000) ResponseEntity<String> getSomeResource(); } @Configuration public class MyFeignConfig { @Bean public Request.Options requestOptions() { return new Request.Options(5000, 10000); // 连接超时时间为5秒,读取超时时间为10秒 } } ``` 以上是两种设置超时时间的方法。第一种方法是全局设置,适用于所有的 Feign 接口;第二种方法是针对单个接口的设置,可以根据需要进行定制。根据实际情况选择合适的方式来解决超时问题。另外,还可以考虑对服务提供方进行性能优化,以减少响应时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值