summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqidaijie <[email protected]>2023-07-28 18:35:41 +0800
committerqidaijie <[email protected]>2023-07-28 18:35:41 +0800
commit02813864aaf903e48a8b2a483100a782c6332359 (patch)
treed0750ff902eeaa9554ee4bc34aa0fdce10a113f7
parent41c580e56685e8aa7817290a04f041423a355aa9 (diff)
修改配置加载逻辑performancetesting
-rw-r--r--src/main/java/com/zdjizhi/common/CommonConfig.java19
-rw-r--r--src/main/java/com/zdjizhi/common/FlowWriteConfig.java1
-rw-r--r--src/main/java/com/zdjizhi/tools/connections/kafka/TimestampDeserializationSchema.java3
-rw-r--r--src/main/java/com/zdjizhi/tools/general/ConfigurationsUtils.java16
4 files changed, 24 insertions, 15 deletions
diff --git a/src/main/java/com/zdjizhi/common/CommonConfig.java b/src/main/java/com/zdjizhi/common/CommonConfig.java
index bb47fb8..6e9fc9a 100644
--- a/src/main/java/com/zdjizhi/common/CommonConfig.java
+++ b/src/main/java/com/zdjizhi/common/CommonConfig.java
@@ -23,13 +23,19 @@ import java.util.concurrent.Executor;
public class CommonConfig {
private static final Log logger = LogFactory.get();
+ private static final String dataId = "olap_platform.properties";
+
private static 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 dataId = "olap_common_config.properties";
String group = FlowWriteConfig.NACOS_PUBLIC_GROUP;
String config = configService.getConfigAndSignListener(dataId, group, FlowWriteConfig.NACOS_CONNECTION_TIMEOUT, new Listener() {
@Override
@@ -41,6 +47,7 @@ public class CommonConfig {
public void receiveConfigInfo(String configInfo) {
if (StringUtil.isNotBlank(configInfo)) {
logger.info("Reload the common config when it changes.");
+ clearProperties();
updateConfigProperties(configInfo);
}
}
@@ -57,16 +64,18 @@ public class CommonConfig {
private static void updateConfigProperties(String config) {
- configProperties = new Properties();
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);
}
}
- public static String KNOWLEDGEBASE_TYPE_LIST = ConfigurationsUtils.getStringProperty(configProperties, "etl.knowledgebase.type.list");
- public static String KNOWLEDGEBASE_NAME_LIST = ConfigurationsUtils.getStringProperty(configProperties, "etl.knowledgebase.name.list");
- public static Boolean SCHEMA_UPDATE_ENABLED = ConfigurationsUtils.getBooleanProperty(configProperties, "etl.schema.update.enabled");
+ private static void clearProperties() {
+ configProperties.clear();
+ }
}
diff --git a/src/main/java/com/zdjizhi/common/FlowWriteConfig.java b/src/main/java/com/zdjizhi/common/FlowWriteConfig.java
index 87bb61a..53672d5 100644
--- a/src/main/java/com/zdjizhi/common/FlowWriteConfig.java
+++ b/src/main/java/com/zdjizhi/common/FlowWriteConfig.java
@@ -26,6 +26,7 @@ public class FlowWriteConfig {
propDefault.load(ConfigurationsUtils.class.getClassLoader().getResourceAsStream("default_config.properties"));
} catch (IOException | RuntimeException e) {
logger.error("Loading the configuration file Failed!,The error message is:{}" + e);
+ System.exit(0);
}
}
diff --git a/src/main/java/com/zdjizhi/tools/connections/kafka/TimestampDeserializationSchema.java b/src/main/java/com/zdjizhi/tools/connections/kafka/TimestampDeserializationSchema.java
index 1be5901..45095fb 100644
--- a/src/main/java/com/zdjizhi/tools/connections/kafka/TimestampDeserializationSchema.java
+++ b/src/main/java/com/zdjizhi/tools/connections/kafka/TimestampDeserializationSchema.java
@@ -2,6 +2,7 @@ package com.zdjizhi.tools.connections.kafka;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
+import com.alibaba.fastjson2.JSONObject;
import org.apache.flink.api.common.typeinfo.TypeHint;
import org.apache.flink.api.common.typeinfo.TypeInformation;
import org.apache.flink.api.java.tuple.Tuple2;
@@ -31,11 +32,9 @@ public class TimestampDeserializationSchema implements KafkaDeserializationSchem
}
@Override
- @SuppressWarnings("unchecked")
public Tuple2<String, Long> deserialize(ConsumerRecord record) throws Exception {
if (record != null) {
try {
-
long timestamp = record.timestamp() / 1000;
String value = new String((byte[]) record.value(), ENCODING);
return new Tuple2<>(value, timestamp);
diff --git a/src/main/java/com/zdjizhi/tools/general/ConfigurationsUtils.java b/src/main/java/com/zdjizhi/tools/general/ConfigurationsUtils.java
index a23816a..ac83b19 100644
--- a/src/main/java/com/zdjizhi/tools/general/ConfigurationsUtils.java
+++ b/src/main/java/com/zdjizhi/tools/general/ConfigurationsUtils.java
@@ -11,31 +11,31 @@ import java.util.Properties;
public class ConfigurationsUtils {
public static String getStringProperty(Properties properties, String key) {
- if (properties.containsKey(key)) {
+ if (!properties.isEmpty() && properties.containsKey(key)) {
return properties.getProperty(key).trim();
}
- return null;
+ return "";
}
public static Integer getIntProperty(Properties properties, String key) {
- if (properties.containsKey(key)) {
+ if (!properties.isEmpty() && properties.containsKey(key)) {
return Integer.parseInt(properties.getProperty(key).trim());
}
- return null;
+ return 0;
}
public static Long getLongProperty(Properties properties, String key) {
- if (properties.containsKey(key)) {
+ if (!properties.isEmpty() && properties.containsKey(key)) {
return Long.parseLong(properties.getProperty(key).trim());
}
- return null;
+ return 0L;
}
public static Boolean getBooleanProperty(Properties properties, String key) {
- if (properties.containsKey(key)) {
+ if (!properties.isEmpty() && properties.containsKey(key)) {
return Boolean.parseBoolean(properties.getProperty(key).trim());
}
- return null;
+ return false;
}
}