Browse Source

合并冲突

jwy-f10
review512jwy@163.com 1 month ago
parent
commit
09761a3baf
  1. 6
      Dockerfile
  2. 93
      pom.xml
  3. 9
      src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java
  4. 23
      src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java
  5. 2
      src/main/java/com/techsor/datacenter/receiver/service/impl/MQTTServiceImpl.java

6
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 WORKDIR /app
COPY target/data-center-receiver.jar app.jar COPY target/data-center-receiver.jar app.jar
EXPOSE 8200 EXPOSE 8200

93
pom.xml

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.12</version> <version>3.5.7</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>com.techsor</groupId> <groupId>com.techsor</groupId>
@ -14,10 +14,11 @@
<name>TECHSOR_dataCenter_receiver</name> <name>TECHSOR_dataCenter_receiver</name>
<properties> <properties>
<java.version>17</java.version> <java.version>17</java.version>
<aws.ecr.registry>029530100103.dkr.ecr.ap-northeast-1.amazonaws.com</aws.ecr.registry> <aws.ecr.registry>126588786019.dkr.ecr.ap-northeast-1.amazonaws.com</aws.ecr.registry>
<aws.ecr.registryTest>029530100103.dkr.ecr.ap-northeast-1.amazonaws.com</aws.ecr.registryTest> <aws.ecr.registryTest>029530100103.dkr.ecr.ap-northeast-1.amazonaws.com</aws.ecr.registryTest>
<aws.ecr.repository>pf-receiver-stg</aws.ecr.repository> <aws.ecr.repositoryTest>spf-receiver-stg </aws.ecr.repositoryTest>
<netty.version>4.2.2.Final</netty.version> <aws.ecr.repository>spf-receiver</aws.ecr.repository>
<netty.version>4.2.9.Final</netty.version>
</properties> </properties>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
@ -326,7 +327,7 @@
<dependency> <dependency>
<groupId>org.apache.tomcat.embed</groupId> <groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId> <artifactId>tomcat-embed-core</artifactId>
<version>10.1.42</version> <version>10.1.49</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
@ -342,9 +343,13 @@
<dependency> <dependency>
<groupId>org.springframework.integration</groupId> <groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId> <artifactId>spring-integration-mqtt</artifactId>
<version>5.5.1</version> <version>6.5.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.2.5</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
@ -382,24 +387,41 @@
<dependency> <dependency>
<groupId>com.mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>9.3.0</version> <version>9.5.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/io.joynr.java.messaging.mqtt/paho-mqtt-client --> <!-- &lt;!&ndash; https://mvnrepository.com/artifact/io.joynr.java.messaging.mqtt/paho-mqtt-client &ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>io.joynr.java.messaging.mqtt</groupId>-->
<!-- <artifactId>paho-mqtt-client</artifactId>-->
<!-- <version>1.14.2</version>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>io.joynr.java.messaging.mqtt</groupId> <groupId>org.eclipse.paho</groupId>
<artifactId>paho-mqtt-client</artifactId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.14.2</version> <version>1.2.5</version>
</dependency> </dependency>
<!-- JSON等格式的转义和反转义 --> <!-- JSON等格式的转义和反转义 -->
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId> <artifactId>commons-text</artifactId>
<version>1.13.1</version> <version>1.15.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.20.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>2.2.21</version>
</dependency> </dependency>
<!-- <dependency> <!-- <dependency>
@ -412,7 +434,7 @@
<dependency> <dependency>
<groupId>com.google.code.gson</groupId> <groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId> <artifactId>gson</artifactId>
<version>2.13.1</version> <version>2.13.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.netty</groupId> <groupId>io.netty</groupId>
@ -454,12 +476,11 @@
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId> <artifactId>commons-pool2</artifactId>
<version>2.11.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
<version>5.8.38</version> <version>5.8.42</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.derjust</groupId> <groupId>com.github.derjust</groupId>
@ -485,7 +506,7 @@
<dependency> <dependency>
<groupId>com.jayway.jsonpath</groupId> <groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId> <artifactId>json-path</artifactId>
<version>2.9.0</version> <version>2.10.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
@ -495,13 +516,25 @@
<dependency> <dependency>
<groupId>com.alibaba.fastjson2</groupId> <groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId> <artifactId>fastjson2</artifactId>
<version>2.0.46</version> <version>2.0.60</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.kafka</groupId> <groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId> <artifactId>kafka-clients</artifactId>
<version>4.0.0</version> <version>4.0.0</version>
<exclusions>
<exclusion>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/at.yawk.lz4/lz4-java -->
<dependency>
<groupId>at.yawk.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>1.10.2</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.yaml/snakeyaml --> <!-- https://mvnrepository.com/artifact/org.yaml/snakeyaml -->
@ -536,13 +569,13 @@
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId> <artifactId>logback-classic</artifactId>
<version>1.5.18</version> <version>1.5.21</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId> <artifactId>logback-core</artifactId>
<version>1.5.18</version> <version>1.5.21</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
@ -552,6 +585,18 @@
<version>33.4.8-jre</version> <version>33.4.8-jre</version>
</dependency> </dependency>
<!-- log4j -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.25.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.25.3</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
@ -588,12 +633,12 @@
<!-- <version>0.38.1</version>--> <!-- <version>0.38.1</version>-->
<!-- <configuration>--> <!-- <configuration>-->
<!-- <authConfig>--> <!-- <authConfig>-->
<!-- <username>AKIAVRXFMB43XVQ3GXAL</username>--> <!-- <username>AKIAR26KHSVRUEAKRBPZ</username>-->
<!-- <password>G0FaGcizm8FlgLxZsL+8xBwfPSzQF71294nrtE2y</password>--> <!-- <password>wmMPx9vypaNi5ZIlyz4c018hKCb2M1dnGBdA+oh2</password>-->
<!-- </authConfig>--> <!-- </authConfig>-->
<!-- <images>--> <!-- <images>-->
<!-- <image>--> <!-- <image>-->
<!-- <name>${aws.ecr.registry}/${aws.ecr.repository}:latest</name>--> <!-- <name>${aws.ecr.registry}/aeon-prod/${aws.ecr.repository}:latest</name>-->
<!-- <registry>${aws.ecr.registry}</registry>--> <!-- <registry>${aws.ecr.registry}</registry>-->
<!-- <build>--> <!-- <build>-->
<!-- <dockerFile>${project.basedir}/Dockerfile</dockerFile>--> <!-- <dockerFile>${project.basedir}/Dockerfile</dockerFile>-->
@ -615,7 +660,7 @@
</authConfig> </authConfig>
<images> <images>
<image> <image>
<name>${aws.ecr.registryTest}/aeon/s${aws.ecr.repository}:latest</name> <name>${aws.ecr.registryTest}/aeon/${aws.ecr.repositoryTest}:latest</name>
<registry>${aws.ecr.registry}</registry> <registry>${aws.ecr.registry}</registry>
<build> <build>
<dockerFile>${project.basedir}/Dockerfile</dockerFile> <dockerFile>${project.basedir}/Dockerfile</dockerFile>

9
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'}}") @Value("${data.center.ioserver_process.api:#{'/v1/generic/ioserver_process'}}")
private String processIoserverUrl; 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; private String processGW150Url;
@Value("${data.center.zaiot_process.api:#{'/v1/generic/zaiot_process'}}") @Value("${data.center.zaiot_process.api:#{'/v1/generic/zaiot_process'}}")
@ -69,6 +72,10 @@ public class DataCenterEnvConfig {
return apiAddress+processIoserverUrl; return apiAddress+processIoserverUrl;
} }
public String getProcessTrendLogUrl() {
return apiAddress+processTrendLogUrl;
}
public void setProcessIoserverUrl(String processIoserverUrl) { public void setProcessIoserverUrl(String processIoserverUrl) {
this.processIoserverUrl = processIoserverUrl; this.processIoserverUrl = processIoserverUrl;
} }

23
src/main/java/com/techsor/datacenter/receiver/service/DataTransService.java

@ -80,6 +80,10 @@ public class DataTransService {
//单独处理ST-150网关数据 //单独处理ST-150网关数据
logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessIoserverUrl()); logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessIoserverUrl());
response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getGW150ProcessUrl(), jsonParams); 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{ }else{
logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessApiUrl()); logger.debug("CustomSend Data :{} ,To: {}", jsonParams,dataCenterEnvConfig.getProcessApiUrl());
response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getProcessApiUrl(), jsonParams); response = this.defaultHttpRequestUtil.postJson(dataCenterEnvConfig.getProcessApiUrl(), jsonParams);
@ -138,4 +142,23 @@ public class DataTransService {
return hasD && hasTs; 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;
}
} }

2
src/main/java/com/techsor/datacenter/receiver/service/impl/MQTTServiceImpl.java

@ -218,7 +218,7 @@ class MqttConsumer {
} }
adapter.setCompletionTimeout(5000); adapter.setCompletionTimeout(5000);
adapter.setRecoveryInterval(5000); // adapter.set(5000);
adapter.setConverter(new DefaultPahoMessageConverter()); adapter.setConverter(new DefaultPahoMessageConverter());
if (!Objects.nonNull(config.getQos())){ if (!Objects.nonNull(config.getQos())){
adapter.setQos(1); adapter.setQos(1);

Loading…
Cancel
Save