热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springCloud(15)OpenFign超时实现

OpenFign调用超时实现步骤:1.providertimeout处理改controller2.Consumertimeout处理改service和controll

OpenFign调用超时实现步骤:
1.provider     timeout处理 改controller
2.Consumer timeout处理 改service 和controller
3.改application.yml配置

 



OpenFign调用超时实现步骤:
1.provider     timeout处理 改controller

 

@RestController
@Slf4j
public class PaymentController
{@GetMapping(value = "/payment/feign/timeout")public String paymentFeignTimeout(){// 业务逻辑处理正确,但是需要耗费3秒钟try { TimeUnit.SECONDS.sleep(3); } catch (InterruptedException e) { e.printStackTrace(); }return serverPort;}
}


2.Consumer timeout处理 改service 和controller
    service 

@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE")
public interface PaymentFeignService
{@GetMapping(value = "/payment/feign/timeout")public String paymentFeignTimeout();
}

controller
 

@RestController
@Slf4j
public class OrderFeignController
{@Resourceprivate PaymentFeignService paymentFeignService;@GetMapping(value = "/consumer/payment/feign/timeout")public String paymentFeignTimeout(){// OpenFeign客户端一般默认等待1秒钟return paymentFeignService.paymentFeignTimeout();}
}

3.application.yml文件
 

#设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:#指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间ReadTimeout: 5000#指的是建立连接后从服务器读取到可用资源所用的时间ConnectTimeout: 5000

 


推荐阅读
author-avatar
大伙没事偷着乐吧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有