Browse Source

完善trendLog logBuffer数据转发

master
zhczyx@163.com 1 month ago
parent
commit
98355fc3bf
  1. 44
      pom.xml
  2. 2
      src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java
  3. 19
      src/main/java/com/techsor/datacenter/receiver/service/impl/MQTTServiceImpl.java
  4. 1
      src/main/java/com/techsor/datacenter/receiver/utils/DefaultHttpRequestUtil.java

44
pom.xml

@ -15,8 +15,8 @@
<properties> <properties>
<java.version>17</java.version> <java.version>17</java.version>
<aws.ecr.registry>126588786019.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>382934810846.dkr.ecr.ap-northeast-1.amazonaws.com</aws.ecr.registryTest>
<aws.ecr.repositoryTest>spf-receiver-stg </aws.ecr.repositoryTest> <aws.ecr.repositoryTest>spf-receiver-stg</aws.ecr.repositoryTest>
<aws.ecr.repository>spf-receiver</aws.ecr.repository> <aws.ecr.repository>spf-receiver</aws.ecr.repository>
<netty.version>4.2.9.Final</netty.version> <netty.version>4.2.9.Final</netty.version>
</properties> </properties>
@ -635,26 +635,26 @@
<!-- </plugin>--> <!-- </plugin>-->
<!-- 测试环境--> <!-- 测试环境-->
<plugin> <plugin>
<groupId>io.fabric8</groupId> <groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId> <artifactId>docker-maven-plugin</artifactId>
<version>0.38.1</version> <version>0.38.1</version>
<configuration> <configuration>
<authConfig> <authConfig>
<username>AKIAQNYBBSGDVT3VF4ON</username> <username>AKIAVSKFRQDPNWHJDSHL</username>
<password>DEhPMTHAIsKK7L2klURQrmMe3r2Tqgbaa6z2FYQu</password> <password>DqGyOiVFKI50/Ix+cjvj25vPL2tC7NJrJ7fqzn/g</password>
</authConfig> </authConfig>
<images> <images>
<image> <image>
<name>${aws.ecr.registryTest}/aeon/${aws.ecr.repositoryTest}:latest</name> <name>${aws.ecr.registryTest}/aeon/${aws.ecr.repositoryTest}:latest</name>
<registry>${aws.ecr.registry}</registry> <registry>${aws.ecr.repositoryTest}</registry>
<build> <build>
<dockerFile>${project.basedir}/Dockerfile</dockerFile> <dockerFile>${project.basedir}/Dockerfile</dockerFile>
</build> </build>
</image> </image>
</images> </images>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>

2
src/main/java/com/techsor/datacenter/receiver/config/DataCenterEnvConfig.java

@ -26,7 +26,7 @@ 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.trendLog.api:#{'/v1/generic/trendLog_process'}}") @Value("${data.center.trendLog.api:#{'/v1/generic/trendlog_process'}}")
private String processTrendLogUrl; private String processTrendLogUrl;
@Value("${data.center.st150_process.api:#{'/v1/generic/st150_process'}}") @Value("${data.center.st150_process.api:#{'/v1/generic/st150_process'}}")

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

@ -250,18 +250,20 @@ class MqttConsumer {
} }
String[] deviceIdPositionArrays; String[] deviceIdPositionArrays;
if (JsonUtils.isJsonArray(deviceIdPosition)){ if (JsonUtils.isJsonArray(deviceIdPosition)){
log.debug("deviceIdPosition is jsonArray:==>{}", datasourceConfigEntity);
deviceIdPositionArrays= JSON.parseArray(deviceIdPosition,String.class).toArray(new String[0]); deviceIdPositionArrays= JSON.parseArray(deviceIdPosition,String.class).toArray(new String[0]);
}else { }else {
log.debug("deviceIdPosition is json:==>{}", datasourceConfigEntity);
deviceIdPositionArrays=new String[]{deviceIdPosition}; deviceIdPositionArrays=new String[]{deviceIdPosition};
} }
//解析出多个设备ID //解析出多个设备ID
Gson gson = new Gson(); Gson gson = new Gson();
String payloadStr = message.getPayload() instanceof String String payloadStr = message.getPayload() instanceof String
? (String) message.getPayload() ? (String) message.getPayload()
: gson.toJson(message.getPayload()); : gson.toJson(message.getPayload());
String trimData = StringUtils.trim(payloadStr); String trimData = StringUtils.trim(payloadStr);
log.debug("payloadStr:==>{}", trimData);
if (!JsonUtils.isJson(trimData)) { if (!JsonUtils.isJson(trimData)) {
log.warn("data is not json:==>{}", datasourceConfigEntity, trimData); log.warn("data is not json:==>{}", datasourceConfigEntity, trimData);
return true; return true;
@ -274,6 +276,7 @@ class MqttConsumer {
String currentJsonValue = gson.toJson(element); String currentJsonValue = gson.toJson(element);
//获取最终设备ID位置信息 //获取最终设备ID位置信息
String finalDevicePosition=extractDevicePosition(currentJsonValue,deviceIdPositionArrays); String finalDevicePosition=extractDevicePosition(currentJsonValue,deviceIdPositionArrays);
log.debug("finalDevicePosition:==>{}", finalDevicePosition);
String deviceId = JsonPath.read(currentJsonValue, finalDevicePosition); String deviceId = JsonPath.read(currentJsonValue, finalDevicePosition);
if (StringUtils.isEmpty(deviceId)) { if (StringUtils.isEmpty(deviceId)) {
@ -298,7 +301,18 @@ class MqttConsumer {
if (!JsonUtils.isJson(trimData)) { if (!JsonUtils.isJson(trimData)) {
return true; return true;
} }
String deviceId = JsonPath.read(trimData, deviceIdPosition);
String deviceId="";
for (String tempPosition : deviceIdPositionArrays) {
try {
log.debug("deviceIdPosition:==>{}", tempPosition);
deviceId = JsonPath.read(trimData, tempPosition);
break;
}catch (Exception e){
}
}
if (StringUtils.isEmpty(deviceId)) { if (StringUtils.isEmpty(deviceId)) {
log.warn("deviceId is null:==>{}", datasourceConfigEntity); log.warn("deviceId is null:==>{}", datasourceConfigEntity);
return true; return true;
@ -365,6 +379,7 @@ class MqttConsumer {
String result=""; String result="";
for (int i = 0; i < deviceIdPositionArrays.length; i++) { for (int i = 0; i < deviceIdPositionArrays.length; i++) {
try{ try{
log.debug("deviceIdPosition:==>{}", deviceIdPositionArrays[i]);
Object value=JsonPath.read(rootCurrentJsonValue,deviceIdPositionArrays[i]); Object value=JsonPath.read(rootCurrentJsonValue,deviceIdPositionArrays[i]);
if (!Objects.isNull(value)){ if (!Objects.isNull(value)){
result = deviceIdPositionArrays[i]; result = deviceIdPositionArrays[i];

1
src/main/java/com/techsor/datacenter/receiver/utils/DefaultHttpRequestUtil.java

@ -32,6 +32,7 @@ public class DefaultHttpRequestUtil {
.body(params) .body(params)
.execute() .execute()
.body(); .body();
logger.debug("resonponseJson: {}",responseJson);
MyHTTPResponse response = JSONUtil.parseObj(responseJson).toBean(MyHTTPResponse.class); MyHTTPResponse response = JSONUtil.parseObj(responseJson).toBean(MyHTTPResponse.class);
return response; return response;
} }

Loading…
Cancel
Save