dubbo源码阅读之-dubbo-spi机制中的配置文件都可以存放再哪个路径下

dubbo源码阅读之-dubbo-spi机制中的配置文件都可以存放再哪个路径下

  • url图
  • ExtensionLoader 类中

url图

dubbo源码阅读之-dubbo-spi机制中的配置文件都可以存放再哪个路径下_第1张图片
根据上图可以知道 存放的路径和优先级,我们也可以自定义一个路径

ExtensionLoader 类中

private static volatile LoadingStrategy[] strategies = loadLoadingStrategies();

private static LoadingStrategy[] loadLoadingStrategies() {
        return stream(load(LoadingStrategy.class).spliterator(), false).sorted()
            .toArray(LoadingStrategy[]::new);
    }
public static <S> ServiceLoader<S> load(Class<S> service) {
        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        return ServiceLoader.load(service, cl);
    }

可以看出来是用的java原生的ServiceLoader 加载所有的加载策略,最后存储到一个数组中

默认加载策略有

org.apache.dubbo.common.extension.DubboInternalLoadingStrategy
org.apache.dubbo.common.extension.DubboLoadingStrategy
org.apache.dubbo.common.extension.ServicesLoadingStrategy

你可能感兴趣的:(dubbo,dubbo,java,开发语言)