private static ReferenceConfig addNewReference()

in src/main/java/org/apache/dubbo/proxy/service/GenericInvoke.java [75:91]


    private static ReferenceConfig<GenericService> addNewReference(String interfaceName,
                                                                   String group, String version) {
        ReferenceConfig<GenericService> reference;
        String cachedKey = interfaceName + group + version;
        reference = cachedConfig.get(cachedKey);
        if (reference == null) {
            ReferenceConfig<GenericService> newReference = initReference(interfaceName, group,
                    version);
            ReferenceConfig<GenericService> oldReference = cachedConfig.putIfAbsent(cachedKey, newReference);
            if (oldReference != null) {
                reference = oldReference;
            } else {
                reference = newReference;
            }
        }
        return reference;
    }