dubbo 扩展点里自动包装
Posted l2c
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo 扩展点里自动包装相关的知识,希望对你有一定的参考价值。
在看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 扩展点里自动包装的主要内容,如果未能解决你的问题,请参考以下文章