private void preReadDefTopicSetting() {
        String tmpValue;
        // read whether accept msg without id2topic configure
        tmpValue = this.props.get(KEY_ENABLE_UNCONFIGURED_TOPIC_ACCEPT);
        if (StringUtils.isNotEmpty(tmpValue)) {
            this.enableUnConfigTopicAccept = "TRUE".equalsIgnoreCase(tmpValue.trim());
        }
        // read default topics
        tmpValue = this.props.get(KEY_UNCONFIGURED_TOPIC_DEFAULT_TOPICS);
        if (StringUtils.isNotBlank(tmpValue)) {
            String[] topicItems = tmpValue.split(VAL_CONFIG_ITEMS_SEPARATOR);
            for (String item : topicItems) {
                if (StringUtils.isBlank(item)) {
                    continue;
                }
                this.defaultTopics.add(item.trim());
            }
            LOG.info("Configured {}, size is {}, value is {}",
                    KEY_UNCONFIGURED_TOPIC_DEFAULT_TOPICS, defaultTopics.size(), defaultTopics);
        }
        // check whether configure default topics
        if (this.enableUnConfigTopicAccept && this.defaultTopics.isEmpty()) {
            LOG.error("Required {} field value is blank in {} for {} is true, exit!",
                    KEY_UNCONFIGURED_TOPIC_DEFAULT_TOPICS, COMMON_CONFIG_FILE_NAME,
                    KEY_ENABLE_UNCONFIGURED_TOPIC_ACCEPT);
            System.exit(2);
        }
    }
getStringFromContext

@param context
@param key
@param defaultValue
@return
inlong-dataproxy/dataproxy-source/src/main/java/org/apache/inlong/dataproxy/config/CommonConfigHolder.java