public void load() {
    if (!isInitialized.compareAndSet(false, true)) {
      return;
    }

    /* load data from list of PropertySourceLoaders */
    PropertySource propertySource = new PropertySource();
    Collections.sort(sourceLoaders, OrderComparator.INSTANCE);
    for (int i = sourceLoaders.size() - 1; i >= 0; --i) {
      PropertySourceLoader loader = sourceLoaders.get(i);
      if (loader != null) {
        propertySource.combinePropertySource(loader.load());
      }
    }

    mapPropertiesToConfigs(propertySource);
  }
load( or override) priority: jvm &gt; system &gt; file(yaml, properties) &gt; classpath(yaml,
properties)

TODO(zheng): support more environment source command line &gt; jvm &gt; system &gt; jndi &gt;
file &gt; classpath
src/main/java/com/eudemon/ratelimiter/env/RateLimiterConfig.java