From 7f5d914898c9d05942705ce7d80c0d14a8174df8 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 19 十二月 2023 15:57:14 +0800 Subject: [PATCH] 1、common模块优化代码; 2、通信中间件优化代码,队列遍历由递归调用改为while循环,原因是队列数据量大时递归调易产生栈溢出,HashTable多线程应用时仍有线程安全问题,改为HashMap+同步锁; 3、RTU模拟器和模拟器控制服务增加report命令 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/IDLongGenerator.java | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/IDLongGenerator.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/IDLongGenerator.java index be3dc2a..9f6e86f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/IDLongGenerator.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/IDLongGenerator.java @@ -1,11 +1,15 @@ package com.dy.common.util; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.Calendar; +@Slf4j @Component public class IDLongGenerator { + + private static final Object synObj = new Object() ; private static final int yearLenght = 4 ;//4锛氬勾搴﹀彇鍥涗綅锛� 3锛氬勾搴﹀彇涓変綅锛� 2锛氬勾搴﹀彇涓や綅锛� 1锛氬勾搴﹀彇涓�浣嶏紝 0锛氬勾搴﹀彇0浣� @@ -24,11 +28,16 @@ } /** - * 23 10 28 09 14 40 00000 - * 闀垮害16鐨処D锛屽勾搴﹀彇涓や綅锛岄暱搴�18鐨処D锛屽勾搴﹀彇鍥涗綅锛�17浣嶆暟瀛楄秴鍑轰簡javascript鐨勮〃鏁拌寖鍥达紝javascript浼氳〃鏁颁笉姝g‘ + * 2023 10 28 09 14 40 00000 + * 闀垮害19鐨処D锛屽勾搴﹀彇涓や綅锛岄暱搴�18鐨処D锛屽勾搴﹀彇鍥涗綅锛�17浣嶆暟瀛楄秴鍑轰簡javascript鐨勮〃鏁拌寖鍥达紝javascript浼氳〃鏁颁笉姝g‘ */ - public synchronized Long generate(){ - return doGenerate() ; + public Long generate(){ + synchronized (synObj){ + //Long id = doGenerate() ; + //log.info("浜х敓ID = " + id); + //return id ; + return doGenerate() ; + } } /** * 璁剧疆鍚庣紑锛屼笉鍚屽瓙绯荤粺璁剧疆涓嶅悓鐨勫悗缂� @@ -96,7 +105,7 @@ /** * 鎵ц鐢熸垚 - * @return ID + * @return ID 20231218 104504 06900 */ private Long doGenerate(){ long id ; -- Gitblit v1.8.0