Merge branch 'wvp-28181-2.0' into database-structure-optimization

结构优化
648540858 2023-10-08 11:04:30 +08:00
commit 9fa4bf6f77
3 changed files with 19 additions and 15 deletions

View File

@ -207,6 +207,12 @@
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<!-- json解析库fastjson2 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>

View File

@ -3,6 +3,7 @@ package com.genersoft.iot.vmp.gb28181.transmit.event.request;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
import com.google.common.primitives.Bytes;
import gov.nist.javax.sip.message.SIPRequest;
import gov.nist.javax.sip.message.SIPResponse;
import org.apache.commons.lang3.ArrayUtils;
@ -196,15 +197,14 @@ public abstract class SIPRequestProcessorParent {
result.add(rawContent[i]);
}
}
Byte[] bytes = new Byte[0];
byte[] bytesResult = ArrayUtils.toPrimitive(result.toArray(bytes));
byte[] bytesResult = Bytes.toArray(result);
Document xml;
try {
xml = reader.read(new ByteArrayInputStream(bytesResult));
}catch (DocumentException e) {
logger.warn("[xml解析异常] 文如下: \r\n{}", new String(bytesResult));
logger.warn("[xml解析异常] 文如下: 尝试兼容性处理");
logger.warn("[xml解析异常] 文如下: \r\n{}", new String(bytesResult));
logger.warn("[xml解析异常] 文如下: 尝试兼容性处理");
String[] xmlLineArray = new String(bytesResult).split("\\r?\\n");
// 兼容海康的address字段带有<破换xml结构导致无法解析xml的问题

View File

@ -233,8 +233,10 @@ public class PlatformServiceImpl implements IPlatformService {
try {
commanderForPlatform.keepalive(parentPlatform, eventResult -> {
// 心跳失败
if (eventResult.type == SipSubscribe.EventResultType.timeout) {
// 心跳超时
if (eventResult.type != SipSubscribe.EventResultType.timeout) {
logger.warn("[国标级联]发送心跳收到错误code {}, msg: {}", eventResult.statusCode, eventResult.msg);
}
// 心跳失败
ParentPlatformCatch platformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId());
// 此时是第三次心跳超时, 平台离线
if (platformCatch.getKeepAliveReply() == 2) {
@ -243,10 +245,6 @@ public class PlatformServiceImpl implements IPlatformService {
offline(parentPlatform, false);
}
}else {
logger.warn("[国标级联]发送心跳收到错误code {}, msg: {}", eventResult.statusCode, eventResult.msg);
}
}, eventResult -> {
// 心跳成功
// 清空之前的心跳超时计数