From 7db2bf7b51015a7e989ea5b0f4d9486dfd99d4bd Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 02 九月 2022 10:51:55 +0800 Subject: [PATCH] 使用equalsIgnoreCase代替equals,忽略大小写差异 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java | 28 ++++++++++++++++------------ 1 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java index 57e8045..d96b622 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java @@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; +import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import javax.sip.InvalidArgumentException; @@ -39,7 +40,7 @@ @Component public class RecordInfoResponseMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler { - private Logger logger = LoggerFactory.getLogger(RecordInfoResponseMessageHandler.class); + private final Logger logger = LoggerFactory.getLogger(RecordInfoResponseMessageHandler.class); private final String cmdType = "RecordInfo"; private ConcurrentLinkedQueue<HandlerCatchData> taskQueue = new ConcurrentLinkedQueue<>(); @@ -76,10 +77,14 @@ if (!taskQueueHandlerRun) { taskQueueHandlerRun = true; taskExecutor.execute(()->{ - try { - while (!taskQueue.isEmpty()) { + while (!taskQueue.isEmpty()) { + try { HandlerCatchData take = taskQueue.poll(); Element rootElementForCharset = getRootElement(take.getEvt(), take.getDevice().getCharset()); + if (rootElement == null) { + logger.warn("[ 鍥芥爣褰曞儚 ] content cannot be null, {}", evt.getRequest()); + continue; + } String sn = getText(rootElementForCharset, "SN"); String channelId = getText(rootElementForCharset, "DeviceID"); RecordInfo recordInfo = new RecordInfo(); @@ -89,7 +94,7 @@ recordInfo.setName(getText(rootElementForCharset, "Name")); String sumNumStr = getText(rootElementForCharset, "SumNum"); int sumNum = 0; - if (!StringUtils.isEmpty(sumNumStr)) { + if (!ObjectUtils.isEmpty(sumNumStr)) { sumNum = Integer.parseInt(sumNumStr); } recordInfo.setSumNum(sumNum); @@ -141,10 +146,11 @@ releaseRequest(take.getDevice().getDeviceId(), sn); } } + } catch (DocumentException e) { + throw new RuntimeException(e); + } finally { + taskQueueHandlerRun = false; } - taskQueueHandlerRun = false; - }catch (DocumentException e) { - throw new RuntimeException(e); } }); } @@ -155,6 +161,8 @@ e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); + }finally { + taskQueueHandlerRun = false; } } @@ -165,16 +173,12 @@ public void releaseRequest(String deviceId, String sn){ String key = DeferredResultHolder.CALLBACK_CMD_RECORDINFO + deviceId + sn; - WVPResult<RecordInfo> wvpResult = new WVPResult<>(); - wvpResult.setCode(0); - wvpResult.setMsg("success"); // 瀵规暟鎹繘琛屾帓搴� Collections.sort(recordDataCatch.getRecordInfo(deviceId, sn).getRecordList()); - wvpResult.setData(recordDataCatch.getRecordInfo(deviceId, sn)); RequestMessage msg = new RequestMessage(); msg.setKey(key); - msg.setData(wvpResult); + msg.setData(recordDataCatch.getRecordInfo(deviceId, sn)); deferredResultHolder.invokeAllResult(msg); recordDataCatch.remove(deviceId, sn); } -- Gitblit v1.8.0