From a1e94379b115721b2e604070dc48063b8016f72f Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 21 十月 2025 19:32:59 +0800
Subject: [PATCH] 侧面输送线出库码盘信息对接
---
src/main/java/com/zy/core/cache/SlaveConnection.java | 38 +++++++++++++++++++++++---------------
1 files changed, 23 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/core/cache/SlaveConnection.java b/src/main/java/com/zy/core/cache/SlaveConnection.java
index a3dbdea..4233714 100644
--- a/src/main/java/com/zy/core/cache/SlaveConnection.java
+++ b/src/main/java/com/zy/core/cache/SlaveConnection.java
@@ -1,55 +1,63 @@
package com.zy.core.cache;
import com.zy.core.ThreadHandler;
+import com.zy.core.enums.SlaveType;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
+ * 绾跨▼缂撳瓨瀹瑰櫒
* Created by vincent on 2020/8/4
*/
public class SlaveConnection {
- public static final String CRN_PREFIX = "CRN_";
+ private static final String _LINK = "_";
- public static final String DEVP_PREFIX = "DEVP_";
+ private static final Map<String, ThreadHandler> conContain = new ConcurrentHashMap<>();
- private static Map<String, ThreadHandler> conContain = new ConcurrentHashMap<>();
-
- public static void put(String key, ThreadHandler threadHandler) {
-
+ public static void put(SlaveType type, Integer id, ThreadHandler threadHandler) {
+ String key = toKey(type, id);
+ remove(type, id);
+ conContain.put(key, threadHandler);
}
- public static ThreadHandler get(String key) {
- return conContain.get(key);
+ public static ThreadHandler get(SlaveType type, Integer id) {
+ return conContain.get(toKey(type, id));
}
- public static void remove(String key) {
- ThreadHandler threadHandler = get(key);
+ public static void remove(SlaveType type, Integer id) {
+ ThreadHandler threadHandler = get(type, id);
if (null == threadHandler) {
return;
}
- conContain.remove(key);
+ conContain.remove(toKey(type, id));
threadHandler.close();
}
- public static String remove(ThreadHandler threadHandler) {
+ public static Integer remove(ThreadHandler threadHandler) {
if (null == threadHandler) {
return null;
}
String key = null;
- for (Map.Entry<String, ThreadHandler> entry : conContain.entrySet()){
+ for (Map.Entry<String, ThreadHandler> entry : conContain.entrySet()) {
if (entry.getValue() == threadHandler) {
key = entry.getKey();
break;
}
}
if (null != key) {
- remove(key);
- return key;
+ SlaveType type = SlaveType.findInstance(key);
+ Integer id = Integer.parseInt(key.split(_LINK)[1]);
+ remove(type, id);
+ return id;
} else {
return null;
}
}
+ private static String toKey(SlaveType type, Integer id) {
+ return type.toString() + _LINK + id;
+ }
+
}
--
Gitblit v1.9.1