#
luxiaotao1123
2020-08-04 34e454267496aea7721b50e50025e5d55b9a3a32
#
1个文件已修改
4个文件已添加
122 ■■■■■ 已修改文件
src/main/java/com/zy/core/ServerBootstrap.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/ThreadHandler.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/cache/SlaveConnection.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/CrnThread.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/DevpThread.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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() {
    }
src/main/java/com/zy/core/ThreadHandler.java
New file
@@ -0,0 +1,7 @@
package com.zy.core;
public interface ThreadHandler {
    void close();
}
src/main/java/com/zy/core/cache/SlaveConnection.java
New file
@@ -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;
        }
    }
}
src/main/java/com/zy/core/thread/CrnThread.java
New file
@@ -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() {
    }
}
src/main/java/com/zy/core/thread/DevpThread.java
New file
@@ -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() {
    }
}