From 470aa479695a7821ef58457db9bd44dabba4acbf Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 17 八月 2022 15:38:06 +0800 Subject: [PATCH] 优化队列的处理逻辑 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 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..7915319 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 @@ -76,8 +76,8 @@ 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()); String sn = getText(rootElementForCharset, "SN"); @@ -141,10 +141,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 +156,8 @@ e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); + }finally { + taskQueueHandlerRun = false; } } -- Gitblit v1.8.0