dubbo中“Wrapper”类

在dubbo中,有一种特殊类型的类,这种类含有一个复制构造函数,dubbo中把这种类型的类叫做Wrapper类,比如ProtocolFilterWrapper或者ProtocolListenerWrapper,它们都含有自身的复制构造函数,我们在调试dubbo的时候会发现,只要是Protocol的子类都会被这两个类“wrap”起来,那么在dubbo中是怎么实现这种功能的呢?下面通过代码来分析这个的实现过程。 首先,当ExtensionLoader调用loadExtensionClasses的时候,会依次加在如下三个目录中的配置文件: loadFile(extensionClasses, DUBBO_INTERNAL_DIRECTORY); loadFile(extensionClasses, DUBBO_DIRECTORY); loadFile(extensionClasses, »

Dubbo的SPI机制

SPI机制类似于Spring的IOC容器,实现对bean的管理。框架本身定义接口、规范,第三方只需要将自己实现在META-INF下描述清楚,那么框架就会自动加载你的实现。Dubbo的规则是在META-INF/dubbo,META-INF/dubbo/internal或者META-INF/services创建描述文件,以Property的形式对所实现的接口进行描述,比如dubbo=com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol,就给出了Protocol接口的一个实现类,然后框架自动家在这个类。 Dubbo对这一块的实现全部都集中在类ExtensionLoader中,那么接下来将围绕这个类来介绍Dubbo插件化的实现,在介绍Dubbo插件化实施之前, »