dubbo 3.0.9
jdk1.8

dubbo.protocol.threads=200,设置线程数量,爆出线程满了,池子容量最大在100

org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter.buildServiceConfig 这个方法中对线程数量做了指定在100

org.apache.dubbo.common.threadpool.manager.DefaultExecutorRepository.updateThreadpool 这个方法把设置的200线程数量进行更换




+ " on " + getLocalAddress() + ", cause: " + t.getMessage(), t);
        }
        executor = executorRepository.createExecutorIfAbsent(url);
    }
    protected abstract void doOpen() throws Throwable;
    protected abstract void doClose() throws Throwable;
    @Override
    public void reset(URL url) {
        if (url == null) {
            return;
        }
        try {
            if (url.hasParameter(ACCEPTS_KEY)) {
                int a = url.getParameter(ACCEPTS_KEY, 0);
                if (a > 0) {
                    this.accepts = a;
                }
            }
        } catch (Throwable t) {
            logger.error(t.getMessage(), t);
        }
        executorRepository.updateThreadpool(url, executor);
        super.setUrl(getUrl().addParameters(url.getParameters()));
    }
    @Override
    public void send(Object message, boolean sent) throws RemotingException {
        Collection<Channel> channels = getChannels();
        for (Channel channel : channels) {
            if (channel.isConnected()) {
                channel.send(message, sent);