码迷,mamicode.com
首页 > 其他好文 > 详细

dubbo 扩展点里自动包装

时间:2019-11-10 19:14:47      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:代码   port   dubbo   qos   const   str   extension   class   ISE   

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

dubbo 扩展点里自动包装

标签:代码   port   dubbo   qos   const   str   extension   class   ISE   

原文地址:https://www.cnblogs.com/lccsblog/p/11831195.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!