![image](https://user-images.githubusercontent.com/18097545/78014651-d54cb580-737a-11ea-809c-fe5dc884ec55.png)

dubbo 2.7.3， 同时暴露rest和dubbo，com.alibaba.dubbo.samples.echo.api.EchoService这个接口是dubbo协议的，还是当做rest来暴露？

if (size < 1) {
                return null;
            } else if (size > 1) {
                logger.warn("Expected single matching of " + configType + ", but found " + size + " instances, will randomly pick the first one.");
            }
            return configsMap.values().iterator().next();
        });
    }
    private <V> V write(Callable<V> callable) {
        V value = null;
        Lock writeLock = lock.writeLock();
        try {
            writeLock.lock();
            value = callable.call();
        } catch (RuntimeException e) {
            throw e;
        } catch (Throwable e) {
            throw new RuntimeException(e.getCause());
        } finally {
            writeLock.unlock();
        }
        return value;
    }
    private void write(Runnable runnable) {
        write(() -> {
            runnable.run();
            return null;
        });
    }
    private <V> V read(Callable<V> callable) {