在上一篇文章Dubbo进阶(六):Dubbo扩展点加载机制(中)中介绍了扩展点机制的一些注解,这篇文章主要通过源码来学习一下ExtensionLoader的原理。ExtensionLoader是整个扩展机制的主要逻辑,在这个类里实现了配置的加载、扩展类缓存、自适应对象生成等所有工作。
ExtensionLoader的工作流程
ExtensionLoader的逻辑入口可以分为getExtension、getAdaptiveExtension和getActivateExtension三个,分别是获取普通扩展类、获取自动适应扩展类和获取自动**扩展类。