dubbo 扩展点里自动包装
2024-10-09 20:26:52
在看protrocol扩展点时,发现很费解的一点:当前invoker的url是register协议,在export的时候都会从qos->lister->filer这3个包装类开始,看了一下getExtension()的过程,createExtension()里有这样一些代码:
// 装饰器类,用来增加扩展实现。
Set<Class<?>> wrapperClasses = cachedWrapperClasses;
if (wrapperClasses != null && !wrapperClasses.isEmpty()) {
for (Class<?> wrapperClass : wrapperClasses) {
instance = injectExtension((T) wrapperClass.getConstructor(type).newInstance(instance));
}
}
可以看到当前扩展点的包装类会被缓存起来并且RegisterProtocol会在自动最里面被包三层,之后实例才返回,所以这个扩展点在getExtension()都会被包三层
最新文章
- 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成
- Shell十三问[转]
- DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版原创发布-带官方示例程序版
- unicode编码与utf-8 区别
- [转]HDFS客户端的权限错误:Permission denied
- springmvc Failed to load resource: the server responded with a status of 404 (Not Found)
- Debian修改ssh端口和禁止root远程登陆设置
- 利用android proguard混淆代码
- pt-online-schema-change原理解析 博客相关需要阅读
- Chomp!游戏 (组合游戏Combinatorial Games)
- 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】
- role &;#39;PLUSTRACE&;#39; does not exist
- C# Ajax 返回json数据--前后台交互
- [Python] 文科生零基础学编程系列三——数据运算符的基本类别
- sublime 集成git插件,及git常用命令
- TCP连接建立系列 — 客户端的端口选取和重用
- BZOJ3028食物——生成函数+泰勒展开
- stm32位操作详解
- JS里浮点数的运算
- 好看的alert弹出框sweetalert