Dubbo动态生成的Adaptive自适应类之ThreadPool$Adaptive

package com.alibaba.dubbo.common.threadpool;

import com.alibaba.dubbo.common.extension.ExtensionLoader;

/**
 * 线程池自适应类
 */
public class ThreadPool$Adaptive implements com.alibaba.dubbo.common.threadpool.ThreadPool {
    public java.util.concurrent.Executor getExecutor(com.alibaba.dubbo.common.URL arg0) {
        if (arg0 == null) throw new IllegalArgumentException("url == null");
        com.alibaba.dubbo.common.URL url = arg0;
        String extName = url.getParameter("threadpool", "fixed");
        if (extName == null)
            throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.common.threadpool.ThreadPool) name from url(" + url.toString() + ") use keys([threadpool])");
        // 根据extName找到具体适应类,然后调用方法
        com.alibaba.dubbo.common.threadpool.ThreadPool extension = (com.alibaba.dubbo.common.threadpool.ThreadPool) ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.common.threadpool.ThreadPool.class).getExtension(extName);
        return extension.getExecutor(arg0);
    }
}

你可能感兴趣的:(Dubbo分布式服务架构)