From 34e454267496aea7721b50e50025e5d55b9a3a32 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 04 八月 2020 17:15:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/ThreadHandler.java         |    7 ++
 src/main/java/com/zy/core/thread/CrnThread.java      |   22 +++++++
 src/main/java/com/zy/core/thread/DevpThread.java     |   13 ++++
 src/main/java/com/zy/core/ServerBootstrap.java       |   25 ++++++++
 src/main/java/com/zy/core/cache/SlaveConnection.java |   55 ++++++++++++++++++
 5 files changed, 121 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index b532458..af7d7e1 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -1,7 +1,10 @@
 package com.zy.core;
 
 import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
 import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.CrnThread;
+import com.zy.core.thread.DevpThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -22,10 +25,30 @@
 
     @PostConstruct
     public void init(){
-        System.out.println(JSON.toJSONString(slaveProperties));
+        // 鍒濆鍖栦笅浣嶆満绾跨▼
+        initThread();
+    }
+
+
+    private void initThread(){
+        // 鍒濆鍖栧爢鍨涙満绾跨▼
+        if (!Cools.isEmpty(slaveProperties.getCrn())) {
+            for (Slave crn : slaveProperties.getCrn()) {
+                CrnThread crnThread = new CrnThread(crn);
+                new Thread(crnThread).start();
+            }
+        }
+//        // 鍒濆鍖栫珯鐐圭嚎绋�
+//        if (!Cools.isEmpty(slaveProperties.getDevp())) {
+//            for (Slave devo : slaveProperties.getDevp()) {
+//                DevpThread devpThread = new DevpThread(crn);
+//                new Thread(devpThread).start();
+//            }
+//        }
 
     }
 
+
     @PreDestroy
     public void destroy() {
     }
diff --git a/src/main/java/com/zy/core/ThreadHandler.java b/src/main/java/com/zy/core/ThreadHandler.java
new file mode 100644
index 0000000..c4911f4
--- /dev/null
+++ b/src/main/java/com/zy/core/ThreadHandler.java
@@ -0,0 +1,7 @@
+package com.zy.core;
+
+public interface ThreadHandler {
+
+    void close();
+
+}
diff --git a/src/main/java/com/zy/core/cache/SlaveConnection.java b/src/main/java/com/zy/core/cache/SlaveConnection.java
new file mode 100644
index 0000000..a3dbdea
--- /dev/null
+++ b/src/main/java/com/zy/core/cache/SlaveConnection.java
@@ -0,0 +1,55 @@
+package com.zy.core.cache;
+
+import com.zy.core.ThreadHandler;
+
+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_";
+
+    public static final String DEVP_PREFIX = "DEVP_";
+
+    private static Map<String, ThreadHandler> conContain = new ConcurrentHashMap<>();
+
+    public static void put(String key, ThreadHandler threadHandler) {
+
+    }
+
+    public static ThreadHandler get(String key) {
+        return conContain.get(key);
+    }
+
+    public static void remove(String key) {
+        ThreadHandler threadHandler = get(key);
+        if (null == threadHandler) {
+            return;
+        }
+        conContain.remove(key);
+        threadHandler.close();
+    }
+
+    public static String remove(ThreadHandler threadHandler) {
+        if (null == threadHandler) {
+            return null;
+        }
+        String key = null;
+        for (Map.Entry<String, ThreadHandler> entry : conContain.entrySet()){
+            if (entry.getValue() == threadHandler) {
+                key = entry.getKey();
+                break;
+            }
+        }
+        if (null != key) {
+            remove(key);
+            return key;
+        } else {
+            return null;
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
new file mode 100644
index 0000000..f798804
--- /dev/null
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -0,0 +1,22 @@
+package com.zy.core.thread;
+
+import com.zy.core.Slave;
+import com.zy.core.ThreadHandler;
+
+/**
+ * Created by vincent on 2020/8/4
+ */
+public class CrnThread implements Runnable, ThreadHandler {
+
+    private Slave slave;
+
+    public CrnThread(Slave slave) {
+        this.slave = slave;
+    }
+
+    @Override
+    public void run() {
+
+    }
+
+}
diff --git a/src/main/java/com/zy/core/thread/DevpThread.java b/src/main/java/com/zy/core/thread/DevpThread.java
new file mode 100644
index 0000000..8f99511
--- /dev/null
+++ b/src/main/java/com/zy/core/thread/DevpThread.java
@@ -0,0 +1,13 @@
+package com.zy.core.thread;
+
+/**
+ * Created by vincent on 2020/8/4
+ */
+public class DevpThread implements Runnable {
+
+    @Override
+    public void run() {
+
+    }
+
+}

--
Gitblit v1.9.1