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