在看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()都会被包三层

最新文章

  1. 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成
  2. Shell十三问[转]
  3. DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版原创发布-带官方示例程序版
  4. unicode编码与utf-8 区别
  5. [转]HDFS客户端的权限错误:Permission denied
  6. springmvc Failed to load resource: the server responded with a status of 404 (Not Found)
  7. Debian修改ssh端口和禁止root远程登陆设置
  8. 利用android proguard混淆代码
  9. pt-online-schema-change原理解析 博客相关需要阅读
  10. Chomp!游戏 (组合游戏Combinatorial Games)
  11. 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】
  12. role &amp;#39;PLUSTRACE&amp;#39; does not exist
  13. C# Ajax 返回json数据--前后台交互
  14. [Python] 文科生零基础学编程系列三——数据运算符的基本类别
  15. sublime 集成git插件,及git常用命令
  16. TCP连接建立系列 — 客户端的端口选取和重用
  17. BZOJ3028食物——生成函数+泰勒展开
  18. stm32位操作详解
  19. JS里浮点数的运算
  20. 好看的alert弹出框sweetalert

热门文章

  1. CodeForces 1420E Battle Lemmings
  2. 推荐给 Java 程序员的 7 本书
  3. 《Clojure编程》笔记 第2章 函数式编程
  4. Dapr Golang HTTP 调用
  5. Java_静态代理与Lambda
  6. week01-绪论作业
  7. Reactor:深入理解reactor core
  8. 3.5 MyLinkedList 实现
  9. 【Kata Daily 190904】Calculating with Functions(函数计算)
  10. Newton插值的C++实现