优化国标级联心跳失败判断逻辑

pull/1105/head
648540858 2023-10-07 18:00:08 +08:00
parent 4c28f380aa
commit c084d6c98a
2 changed files with 11 additions and 13 deletions

View File

@ -203,8 +203,8 @@ public abstract class SIPRequestProcessorParent {
try { try {
xml = reader.read(new ByteArrayInputStream(bytesResult)); xml = reader.read(new ByteArrayInputStream(bytesResult));
}catch (DocumentException e) { }catch (DocumentException e) {
logger.warn("[xml解析异常] 文如下: \r\n{}", new String(bytesResult)); logger.warn("[xml解析异常] 文如下: \r\n{}", new String(bytesResult));
logger.warn("[xml解析异常] 文如下: 尝试兼容性处理"); logger.warn("[xml解析异常] 文如下: 尝试兼容性处理");
String[] xmlLineArray = new String(bytesResult).split("\\r?\\n"); String[] xmlLineArray = new String(bytesResult).split("\\r?\\n");
// 兼容海康的address字段带有<破换xml结构导致无法解析xml的问题 // 兼容海康的address字段带有<破换xml结构导致无法解析xml的问题

View File

@ -233,19 +233,17 @@ public class PlatformServiceImpl implements IPlatformService {
try { try {
commanderForPlatform.keepalive(parentPlatform, eventResult -> { commanderForPlatform.keepalive(parentPlatform, eventResult -> {
// 心跳失败 // 心跳失败
if (eventResult.type == SipSubscribe.EventResultType.timeout) { if (eventResult.type != SipSubscribe.EventResultType.timeout) {
// 心跳超时
ParentPlatformCatch platformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId());
// 此时是第三次心跳超时, 平台离线
if (platformCatch.getKeepAliveReply() == 2) {
// 设置平台离线,并重新注册
logger.info("[国标级联] 三次心跳超时, 平台{}({})离线", parentPlatform.getName(), parentPlatform.getServerGBId());
offline(parentPlatform, false);
}
}else {
logger.warn("[国标级联]发送心跳收到错误code {}, msg: {}", eventResult.statusCode, eventResult.msg); logger.warn("[国标级联]发送心跳收到错误code {}, msg: {}", eventResult.statusCode, eventResult.msg);
} }
// 心跳失败
ParentPlatformCatch platformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId());
// 此时是第三次心跳超时, 平台离线
if (platformCatch.getKeepAliveReply() == 2) {
// 设置平台离线,并重新注册
logger.info("[国标级联] 三次心跳超时, 平台{}({})离线", parentPlatform.getName(), parentPlatform.getServerGBId());
offline(parentPlatform, false);
}
}, eventResult -> { }, eventResult -> {
// 心跳成功 // 心跳成功