This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-tsg-olap-log-stream-…/src/main/java/com/zdjizhi/common/CommonConfig.java
wangchengcheng 5c0a108393 1.适配TSG 23.07及以上功能,添加数据传输统计指标,并输出至pushgateway。(GAL-409)
2.原URL参数domain从http_domain字段取值,更新为从common_server_domain字段取值。(GAL-410)
2023-09-28 15:59:26 +08:00

82 lines
2.8 KiB
Java

package com.zdjizhi.common;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.listener.Listener;
import com.alibaba.nacos.api.exception.NacosException;
import com.geedgenetworks.utils.StringUtil;
import com.zdjizhi.tools.connections.nacos.NacosConnection;
import com.zdjizhi.tools.general.ConfigurationsUtils;
import java.io.IOException;
import java.io.StringReader;
import java.util.Properties;
import java.util.concurrent.Executor;
/**
* @author qidaijie
* @Package com.zdjizhi.common
* @Description:
* @date 2023/7/2811:00
*/
public class CommonConfig {
private static final Log logger = LogFactory.get();
private static final String dataId = "olap_platform.properties";
private static final Properties configProperties;
public static String KNOWLEDGEBASE_TYPE_LIST;
public static String KNOWLEDGEBASE_NAME_LIST;
public static Boolean SCHEMA_UPDATE_ENABLED;
static {
configProperties = new Properties();
NacosConnection nacosConnection = new NacosConnection();
ConfigService configService = nacosConnection.getPublicService();
try {
String group = FlowWriteConfig.NACOS_PUBLIC_GROUP;
String config = configService.getConfigAndSignListener(dataId, group, FlowWriteConfig.NACOS_CONNECTION_TIMEOUT, new Listener() {
@Override
public Executor getExecutor() {
return null;
}
@Override
public void receiveConfigInfo(String configInfo) {
if (StringUtil.isNotBlank(configInfo)) {
logger.info("Reload the common config when it changes.");
clearProperties();
updateConfigProperties(configInfo);
}
}
});
if (StringUtil.isNotBlank(config)) {
updateConfigProperties(config);
}
} catch (NacosException e) {
logger.error("Get common config from Nacos error,The exception message is :{}" + e);
}
}
private static void updateConfigProperties(String config) {
try {
configProperties.load(new StringReader(config));
KNOWLEDGEBASE_TYPE_LIST = ConfigurationsUtils.getStringProperty(configProperties, "etl.knowledgebase.type.list");
KNOWLEDGEBASE_NAME_LIST = ConfigurationsUtils.getStringProperty(configProperties, "etl.knowledgebase.name.list");
SCHEMA_UPDATE_ENABLED = ConfigurationsUtils.getBooleanProperty(configProperties, "etl.schema.update.enabled");
} catch (IOException e) {
logger.error("IOException:{}", e);
}
}
private static void clearProperties() {
configProperties.clear();
}
}