public RefererConfig<CommonClient> build(final MetaData metaData) {
        if (Objects.isNull(protocolConfig) || Objects.isNull(registryConfig)) {
            return new RefererConfig<>();
        }
        RefererConfig<CommonClient> reference = new RefererConfig<>();
        reference.setInterface(CommonClient.class);
        reference.setServiceInterface(metaData.getServiceName());
        // the group of motan rpc call
        MotanParamExtInfo motanParamExtInfo = GsonUtils.getInstance().fromJson(metaData.getRpcExt(), MotanParamExtInfo.class);
        reference.setGroup(motanParamExtInfo.getGroup());
        reference.setVersion("1.0");
        reference.setRequestTimeout(Optional.ofNullable(motanParamExtInfo.getTimeout()).orElse(1000));
        reference.setRegistry(registryConfig);
        if (StringUtils.isNotEmpty(motanParamExtInfo.getRpcProtocol())) {
            protocolConfig.setName(motanParamExtInfo.getRpcProtocol());
            protocolConfig.setId(motanParamExtInfo.getRpcProtocol());
        }
        reference.setProtocol(protocolConfig);
        CommonClient obj = reference.getRef();
        if (Objects.nonNull(obj)) {
            LOG.info("init motan reference success there meteData is :{}", metaData);
            cache.put(metaData.getPath(), reference);
        }
        return reference;
    }
Build reference config.

@param metaData the meta data
@return the reference config
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/cache/ApplicationConfigCache.java