From d20d38e22b06559d758c568769017e2acf632583 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 23 四月 2025 14:06:48 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/OnLinePool.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 59 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/OnLinePool.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/OnLinePool.java
new file mode 100644
index 0000000..30c764a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/OnLinePool.java
@@ -0,0 +1,59 @@
+package com.dy.common.mw.protocol;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class OnLinePool {
+
+ protected static HashMap<String, List<OnLine>> pool = new HashMap<>() ;
+
+ /**
+ * 鐢熸垚瀵硅薄
+ * @param clazz 绫诲瀷
+ * @return OnLine
+ */
+ public static synchronized OnLine getInstance(Class<?> clazz)throws Exception {
+ if(pool == null){
+ pool = new HashMap<>() ;
+ }
+ String className = clazz.getName() ;
+ OnLine obj = null ;
+
+ List<OnLine> list = pool.get(className) ;
+ if(list == null){
+ list = new ArrayList<>() ;
+ }else{
+ obj = list.get(0) ;
+ }
+
+ if(obj != null){
+ list.remove(0) ;
+ return obj ;
+ }else{
+ try {
+ obj = (OnLine)clazz.getDeclaredConstructor().newInstance() ;
+ //obj = (OnLine)clazz.newInstance();
+ } catch (Exception e) {
+ throw new Exception( "鐢�" + className + "鐢熸垚瀹炰緥澶辫触锛�");
+ }
+ return obj ;
+ }
+ }
+
+ /**
+ * 鎶婂璞℃斁鍥炴睜涓�
+ * @param clazz 绫�
+ * @param obj 涓婄嚎瀵硅薄
+ */
+ public static void freeInstance(Class<?> clazz, OnLine obj){
+ if(pool != null){
+ String className = clazz.getName() ;
+ List<OnLine> list = pool.get(className) ;
+ if(list != null){
+ list.add(obj) ;
+ }
+ }
+ }
+
+}
--
Gitblit v1.8.0