diff --git a/Dockerfile b/Dockerfile
index 3fb8452..d8b9163 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,8 @@
-FROM registry.ap-northeast-1.aliyuncs.com/southwave/jdk17-template:latest
+# FROM registry.ap-northeast-1.aliyuncs.com/southwave/jdk17-template:latest
+FROM amazoncorretto:17-alpine
+# 安装 fontconfig 和 DejaVu 字体 (这是一个通用且免费的字体包)
+RUN apk --no-cache add fontconfig ttf-dejavu
+
WORKDIR /app
COPY target/data-center-receiver.jar app.jar
EXPOSE 8200
diff --git a/pom.xml b/pom.xml
index 54f3280..79cad35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.2.12
+ 3.5.7
com.techsor
@@ -14,10 +14,11 @@
TECHSOR_dataCenter_receiver
17
- 029530100103.dkr.ecr.ap-northeast-1.amazonaws.com
+ 126588786019.dkr.ecr.ap-northeast-1.amazonaws.com
029530100103.dkr.ecr.ap-northeast-1.amazonaws.com
- pf-receiver-stg
- 4.2.2.Final
+ spf-receiver-stg
+ spf-receiver
+ 4.2.9.Final
@@ -326,7 +327,7 @@
org.apache.tomcat.embed
tomcat-embed-core
- 10.1.42
+ 10.1.49
org.springframework.boot
@@ -342,9 +343,13 @@
org.springframework.integration
spring-integration-mqtt
- 5.5.1
+ 6.5.3
-
+
+ org.eclipse.paho
+ org.eclipse.paho.client.mqttv3
+ 1.2.5
+
org.springframework.boot
@@ -382,25 +387,42 @@
com.mysql
mysql-connector-j
- 9.3.0
+ 9.5.0
org.projectlombok
lombok
-
-
- io.joynr.java.messaging.mqtt
- paho-mqtt-client
- 1.14.2
-
+
+
+
+
+
+
+
+ org.eclipse.paho
+ org.eclipse.paho.client.mqttv3
+ 1.2.5
+
org.apache.commons
commons-text
- 1.13.1
+ 1.15.0
+
+
+ org.apache.commons
+ commons-lang3
+ 3.20.0
+
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib
+ 2.2.21
+
+
+ at.yawk.lz4
+ lz4-java
+ 1.10.2
@@ -536,13 +569,13 @@
ch.qos.logback
logback-classic
- 1.5.18
+ 1.5.21
compile
ch.qos.logback
logback-core
- 1.5.18
+ 1.5.21
compile
@@ -552,6 +585,18 @@
33.4.8-jre
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.25.3
+
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.25.3
+
+
@@ -588,12 +633,12 @@
-
-
+
+
-
+
@@ -615,7 +660,7 @@
- ${aws.ecr.registryTest}/aeon/s${aws.ecr.repository}:latest
+ ${aws.ecr.registryTest}/aeon/${aws.ecr.repositoryTest}:latest
${aws.ecr.registry}
${project.basedir}/Dockerfile
diff --git a/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java b/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java
index 5885559..567247a 100644
--- a/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java
+++ b/src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java
@@ -26,7 +26,10 @@ public class DataCenterEnvConfig {
@Value("${data.center.ioserver_process.api:#{'/v1/generic/ioserver_process'}}")
private String processIoserverUrl;
- @Value("${data.center.ioserver_process.api:#{'/v1/generic/st150_process'}}")
+ @Value("${data.center.trendLog.api:#{'/v1/generic/trendLog_process'}}")
+ private String processTrendLogUrl;
+
+ @Value("${data.center.st150_process.api:#{'/v1/generic/st150_process'}}")
private String processGW150Url;
@Value("${data.center.zaiot_process.api:#{'/v1/generic/zaiot_process'}}")
@@ -69,6 +72,10 @@ public class DataCenterEnvConfig {
return apiAddress+processIoserverUrl;
}
+ public String getProcessTrendLogUrl() {
+ return apiAddress+processTrendLogUrl;
+ }
+
public void setProcessIoserverUrl(String processIoserverUrl) {
this.processIoserverUrl = processIoserverUrl;
}
diff --git a/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java b/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java
index f784f30..c058ab7 100644
--- a/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java
+++ b/src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java
@@ -80,6 +80,10 @@ public class DataTransService {
//单独处理ST-150网关数据
logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessIoserverUrl());
response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getGW150ProcessUrl(), jsonParams);
+ }else if (isTrendLog(rawJson)){
+ //单独处理TrendLog数据
+ logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessTrendLogUrl());
+ response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getProcessTrendLogUrl(), jsonParams);
}else{
logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessApiUrl());
response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getProcessApiUrl(), jsonParams);
@@ -138,4 +142,23 @@ public class DataTransService {
return hasD && hasTs;
}
+ /**
+ * 检查JSON字符串是否包含特定的字段,用于判断是否符合GW150数据格式
+ *
+ * @param jsonStr 待检查的JSON字符串
+ * @return 如果JSON字符串同时包含字段"Instance"、"DeviceId"和"log_buffer",则返回true,否则返回false
+ */
+ private Boolean isTrendLog(String jsonStr){
+ // 解析JSON字符串为JsonObject,以便进行字段检查
+ JsonObject json = JsonParser.parseString(jsonStr).getAsJsonObject();
+
+ // 检查JSON对象中是否包含字段"Instance"
+ boolean hasInstance = json.has("Instance");
+ // 检查JSON对象中是否包含字段"DeviceId"
+ boolean hasDeviceId = json.has("DeviceId");
+ // 检查JSON对象中是否包含字段"hasLogBuffer"
+ boolean hasLogBuffer = json.has("log_buffer");
+
+ return hasInstance && hasDeviceId && hasLogBuffer;
+ }
}
diff --git a/src/main/java/com/techsor/datacenter/receiver/service/impl/MQTTServiceImpl.java b/src/main/java/com/techsor/datacenter/receiver/service/impl/MQTTServiceImpl.java
index c66e2ae..3cb4c2b 100644
--- a/src/main/java/com/techsor/datacenter/receiver/service/impl/MQTTServiceImpl.java
+++ b/src/main/java/com/techsor/datacenter/receiver/service/impl/MQTTServiceImpl.java
@@ -218,7 +218,7 @@ class MqttConsumer {
}
adapter.setCompletionTimeout(5000);
- adapter.setRecoveryInterval(5000);
+// adapter.set(5000);
adapter.setConverter(new DefaultPahoMessageConverter());
if (!Objects.nonNull(config.getQos())){
adapter.setQos(1);