SpringCloudRPC核心原理:HystrixFeign动态代理实例创建流程

HystrixFeign动态代理实例的创建流程

Spring Cloud中使用Hystrix进行RPC保护基本是必选项,所以这里重点介绍HystrixFeign相关的动态代理实例的创建流程。

HystrixInvocationHandler具体的替换过程通过HystrixFeign.Builder建造者容器实例的build()方法来完成。

HystrixFeign.Builder建造者容器实例

首先,复习一下Feign中JDK代理实例创建的整体流程。前面讲到,Feign中默认的远程接口的JDK动态代理实例创建是通过Feign.Builder建造者容器实例的target(...)方法来完成的。而target(...)方法的第一步是通过自身的build()方法来构造一个ReflectiveFeign(反射式Feign)实例,第二步是通过反射式Feign实例的newInstance()方法创建真正的JDK Proxy代理实例。

HystrixFeign有自己的建造者类HystrixFeign.Builder类,该类继承了feign.Feign.Builder默认的建造者,重写了它获得Feign实例的build()方法。

HystrixFeign的关键源码如下:

package feign.hystrix;
//省略import
public final class HystrixFeign {
 public HystrixFeign() {
 }
 //创建一个新的HystrixFeign.Builder实例
 public static HystrixFeign.Builder builder() {
 return new 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值