Motan的SPI机制实现分析
生活随笔
收集整理的這篇文章主要介紹了
Motan的SPI机制实现分析
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Motan使用SPI機(jī)制來實(shí)現(xiàn)模塊間的訪問,基于接口和name來獲取實(shí)現(xiàn)類,降低了模塊間的耦合。
首先來看一下使用方式:
有兩個(gè)注解
@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})public @interface Spi {Scope scope() default Scope.PROTOTYPE;}@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})public @interface SpiMeta {String name() default "";}@Spi用來注解接口,@SpiMeta用來注解接口的實(shí)現(xiàn)類
@Spi(scope = Scope.SINGLETON) public interface ConfigHandler { ......@SpiMeta(name = MotanConstants.DEFAULT_VALUE) public class SimpleConfigHandler implements ConfigHandler { ......
Motan Spi機(jī)制遵循JDK的spi機(jī)制,在META-INF/services/下面配置實(shí)現(xiàn)類的描述。
文件:META-INF/services/com.weibo.api.motan.config.handler.ConfigHandler
com.weibo.api.motan.config.handler.SimpleConfigHandler具體的使用方式是:
ConfigHandler configHandler = ExtensionLoader.getExtensionLoader(ConfigHandler.class).getExtension(MotanConstants.DEFAULT_VALUE);public enum Scope {/*** 單例模式*/SINGLETON,/*** 多例模式*/PROTOTYPE }
?
轉(zhuǎn)載于:https://www.cnblogs.com/huangll99/p/6664777.html
總結(jié)
以上是生活随笔為你收集整理的Motan的SPI机制实现分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rtpdhw04
- 下一篇: alert和console的区别