目录
一、概述
上一篇文章介绍了Dubbo的SPI机制ExtensionLoader源码,分析了ExtensionLoader如何从META-INFO/dubbo等目录下
获取service provider,并了解了它的缓存机制,缓存class字节码,缓存实例化异常Exception,缓存AdaptiveExtension实体对象,
以及它的自动注入ExtensionFactory的实现原理。
Dubbo源码分析之SPI(二) | ExtensionLoader_青枫绿屿的博客-CSDN博客
本文接着介绍ExtensionLoader通过JavassistCompiler动态生成AdaptiveExtension代码逻辑,并通过Protocol的加载进行实例分析和学习Dubbo的自动包装Wapper功能。
二、AdaptiveClassCodeGenerator
createAdaptiveExtensionClass方法中使用AdaptiveClassCodeGenerator动态生成代码,下面是生成的Protocol$Adaptive代码。
package org.ap