From 656aa4f953eb52502a6414965e46642c31b6e8ee Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 29 四月 2025 15:33:09 +0800 Subject: [PATCH] 设备会在多种功能码上报数据中携带报警与状态数据,这样数据库保存设备报警与状态数据可能很多,为此修改逻辑,当前实现为一设备一个小时内只保存一条报警与状态数据。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java index bb9761b..ba5b121 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/PrefixedDataAvailablePool.java @@ -24,22 +24,21 @@ List<PrefixedDataAvailable> list = pool.get(className) ; if(list == null){ list = new ArrayList<>() ; - }else{ + pool.put(className, list) ; + }else if(list.size() > 0){ obj = list.get(0) ; + list.remove(0) ; } - if(obj != null){ - list.remove(0) ; - return obj ; - }else{ + if(obj == null){ try { obj = (PrefixedDataAvailable)clazz.getDeclaredConstructor().newInstance() ; //obj = (PrefixedDataAvailable)clazz.newInstance(); } catch (Exception e) { throw new Exception( "鐢�" + className + "鐢熸垚瀹炰緥澶辫触锛�"); } - return obj ; } + return obj ; } /** -- Gitblit v1.8.0