private void mapPropertiesToConfigs(PropertySource propertySource) {
    String parserType =
        propertySource.getPropertyStringValue(PropertyConstants.PROPERTY_RULE_CONFIG_PARSER);
    if (StringUtils.isNotBlank(parserType)) {
      this.ruleConfigParserType = parserType;
    }

    String source =
        propertySource.getPropertyStringValue(PropertyConstants.PROPERTY_RULE_CONFIG_SOURCE);
    if (StringUtils.isNotBlank(source)) {
      this.ruleConfigSourceType = source;
    }

    redisConfig.buildFromProperties(propertySource);
    zookeeperConfig.buildFromProperties(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