我是靠谱客的博主 慈祥月光,最近开发中收集的这篇文章主要介绍dubbo之SPI模式之扩展增强,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.前言
在spring aop中可以使用多个切面对指定类的方法进行增强,在dubbo中也提供了类似的功能,在dubbo中你可以指定多个wrappwe类对指定的扩展点的实现的方法进行增强。也就是通过SPI返回的不再是纯粹的扩展点的实现类,而是被wrapper后的类。
2.一般情况

private static final Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();

如果说没有spi扩展点增加自动装配,上面的代码返回的就是适配“dubbo”protocol的DubboProtocol类。

3.SPI扩展增强的实现
private static final Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();

增强后上述代码的执行流程,
1.判断 registry 是不是等于 dubbo,等于加载registry协议,不等于就执行2。
2.判断Registry的构造方法,观察构造函数中是否存在Protocol声明定义的变量,如果有则作为dubbo协议的包装类进行加载,如果没有则重新跳回1验证下一条记录filter。
3.从名字中我们也可以看出filter和listener实现2个对dubbo协议扩展的包装类,中filter包装了dubbo的链式调用,轻松的实现

aop的功能。

4.dubbo具体是如果实现增加扩展的




最后

以上就是慈祥月光为你收集整理的dubbo之SPI模式之扩展增强的全部内容,希望文章能够帮你解决dubbo之SPI模式之扩展增强所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部