archaius-core/src/main/java/com/netflix/config/DynamicPropertyFactory.java
public static DynamicPropertyFactory getInstance() {
        if (config == null) {
            synchronized (ConfigurationManager.class) {
                if (config == null) {
                    AbstractConfiguration configFromManager = ConfigurationManager.getConfigInstance();
                    if (configFromManager != null) {
                        initWithConfigurationSource(configFromManager);
                        initializedWithDefaultConfig = !ConfigurationManager.isConfigurationInstalled();
                        logger.info("DynamicPropertyFactory is initialized with configuration sources: " + configFromManager);
                    }
                }
            }
        }
        return instance;
    }
public static DynamicPropertyFactory getInstance() {
        if (config == null) {
            synchronized (ConfigurationManager.class) {
                if (config == null) {
                    AbstractConfiguration configFromManager = ConfigurationManager.getConfigInstance();
                    if (configFromManager != null) {
                        initWithConfigurationSource(configFromManager);
                        initializedWithDefaultConfig = !ConfigurationManager.isConfigurationInstalled();
                        logger.info("DynamicPropertyFactory is initialized with configuration sources: " + configFromManager);
                    }
                }
            }
        }
        return instance;
    }
Get the instance to create dynamic properties. If the factory is not initialized with a configuration source
(see {@link #initWithConfigurationSource(AbstractConfiguration)} and {@link #initWithConfigurationSource(DynamicPropertySupport)}),
it will fist try to initialize itself with a default {@link ConcurrentCompositeConfiguration}, with the following two
sub configurations:
<ul>
<li>A SystemConfiguration, which contains all the system properties. You can disable adding this Configuration by setting
system property {@value #DISABLE_DEFAULT_SYS_CONFIG} to <code>true</code>
<li>A  {@link DynamicURLConfiguration}, which at a fixed interval polls
a configuration file (see {@link URLConfigurationSource#DEFAULT_CONFIG_FILE_NAME}) on classpath and a set of URLs specified via a system property
(see {@link URLConfigurationSource#CONFIG_URL}).
</ul>
Between the two sub-configurations, the SystemConfiguration will take the precedence when determining property values.
<p/>
You can disable the initialization with the default configuration by setting system property {@value #DISABLE_DEFAULT_CONFIG} to "true".