From 375f92ebe423c6c831c399812be05a5d920f6987 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 10 九月 2020 11:02:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/properties/SlaveProperties.java |    2 
 src/main/java/com/zy/core/thread/CarThread.java           |   69 +++++++++++++++++++++++
 src/main/java/com/zy/core/cache/MessageQueue.java         |   14 ++++
 src/main/java/com/zy/core/enums/SlaveType.java            |    1 
 src/main/resources/application.yml                        |   25 +++++---
 src/main/java/com/zy/core/ServerBootstrap.java            |   14 ++++
 6 files changed, 114 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index 4023026..85435f6 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -7,6 +7,7 @@
 import com.zy.core.model.DevpSlave;
 import com.zy.core.model.LedSlave;
 import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.CarThread;
 import com.zy.core.thread.CrnThread;
 import com.zy.core.thread.DevpThread;
 import com.zy.core.thread.LedThread;
@@ -65,6 +66,10 @@
         for (Slave scale : slaveProperties.getScale()) {
             MessageQueue.init(SlaveType.Scale, scale);
         }
+        // 鍒濆鍖栧彴杞q
+        for (Slave car : slaveProperties.getCar()) {
+            MessageQueue.init(SlaveType.Car, car);
+        }
     }
 
     private void initThread(){
@@ -85,6 +90,7 @@
         }
 
 //        // 鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼
+//        log.info("鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼...................................................");
 //        for (Slave barcode : slaveProperties.getBarcode()) {
 //            BarcodeThread barcodeThread = new BarcodeThread(barcode);
 //            new Thread(barcodeThread).start();
@@ -97,7 +103,13 @@
             new Thread(ledThread).start();
             SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
         }
-
+        // 鍒濆鍖栧彴杞︾嚎绋�
+        log.info("鍒濆鍖栧彴杞︾嚎绋�...................................................");
+        for (Slave car : slaveProperties.getCar()) {
+            CarThread carThread = new CarThread(car);
+            new Thread(carThread).start();
+            SlaveConnection.put(SlaveType.Car, car.getId(), carThread);
+        }
     }
 
 
diff --git a/src/main/java/com/zy/core/cache/MessageQueue.java b/src/main/java/com/zy/core/cache/MessageQueue.java
index 5f27eba..8bb9d7c 100644
--- a/src/main/java/com/zy/core/cache/MessageQueue.java
+++ b/src/main/java/com/zy/core/cache/MessageQueue.java
@@ -25,6 +25,8 @@
     private static final Map<Integer, LinkedBlockingQueue<Task>> LED_EXCHANGE = new ConcurrentHashMap<>();
     // 纾呯Оmq浜ゆ崲鏈�
     private static final Map<Integer, ConcurrentLinkedQueue<Task>> SCALE_EXCHANGE = new ConcurrentHashMap<>();
+    // 鍙拌溅mq浜ゆ崲鏈�
+    private static final Map<Integer, ConcurrentLinkedQueue<Task>> CAR_EXCHANGE = new ConcurrentHashMap<>();
 
     /**
      * mq 浜ゆ崲鏈哄垵濮嬪寲
@@ -45,6 +47,9 @@
                 break;
             case Scale:
                 SCALE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
+                break;
+            case Car:
+                CAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
                 break;
             default:
                 break;
@@ -67,6 +72,8 @@
                 return LED_EXCHANGE.get(id).offer(task);
             case Scale:
                 return SCALE_EXCHANGE.get(id).offer(task);
+            case Car:
+                return CAR_EXCHANGE.get(id).offer(task);
             default:
                 return false;
         }
@@ -88,6 +95,8 @@
                 return LED_EXCHANGE.get(id).poll();
             case Scale:
                 return SCALE_EXCHANGE.get(id).poll();
+            case Car:
+                return CAR_EXCHANGE.get(id).poll();
             default:
                 return null;
         }
@@ -108,6 +117,8 @@
                 return LED_EXCHANGE.get(id).peek();
             case Scale:
                 return SCALE_EXCHANGE.get(id).peek();
+            case Car:
+                return CAR_EXCHANGE.get(id).peek();
             default:
                 return null;
         }
@@ -130,6 +141,9 @@
             case Scale:
                 SCALE_EXCHANGE.get(id).clear();
                 break;
+            case Car:
+                CAR_EXCHANGE.get(id).clear();
+                break;
             default:
                 break;
         }
diff --git a/src/main/java/com/zy/core/enums/SlaveType.java b/src/main/java/com/zy/core/enums/SlaveType.java
index 7812caa..56330fe 100644
--- a/src/main/java/com/zy/core/enums/SlaveType.java
+++ b/src/main/java/com/zy/core/enums/SlaveType.java
@@ -7,6 +7,7 @@
     Barcode,
     Led,
     Scale,
+    Car,
     ;
 
     public static SlaveType findInstance(String s){
diff --git a/src/main/java/com/zy/core/properties/SlaveProperties.java b/src/main/java/com/zy/core/properties/SlaveProperties.java
index a6931f3..1cf0514 100644
--- a/src/main/java/com/zy/core/properties/SlaveProperties.java
+++ b/src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -29,4 +29,6 @@
 
     private List<Slave> scale = new ArrayList<>();
 
+    private List<Slave> car = new ArrayList<>();
+
 }
diff --git a/src/main/java/com/zy/core/thread/CarThread.java b/src/main/java/com/zy/core/thread/CarThread.java
new file mode 100644
index 0000000..b05fac3
--- /dev/null
+++ b/src/main/java/com/zy/core/thread/CarThread.java
@@ -0,0 +1,69 @@
+package com.zy.core.thread;
+
+import com.zy.core.Slave;
+import com.zy.core.ThreadHandler;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.IOException;
+
+/**
+ * 鍙拌溅绾跨▼
+ * Created by vincent on 2020/8/4
+ */
+@Data
+@Slf4j
+public class CarThread implements Runnable, ThreadHandler {
+
+    private Slave slave;
+
+    public CarThread(Slave slave) {
+        this.slave = slave;
+    }
+
+    @Override
+    @SuppressWarnings("InfiniteLoopStatement")
+    public void run() {
+        connect();
+        while (true) {
+            try {
+                Thread.sleep(1000);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    @Override
+    public boolean connect() {
+        try {
+        } catch (Exception e) {
+            log.error("鍙拌溅杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public void close() {
+    }
+
+    public void write(byte[] msg, int len) throws IOException {
+    }
+
+    public byte[] read(int bufferSize, int timeOut) throws IOException {
+        return null;
+    }
+
+
+    public static void main(String[] args) throws Exception {
+        CarThread barcodeThread = new CarThread(new Slave());
+        barcodeThread.getSlave().setIp("192.168.2.150");
+        barcodeThread.getSlave().setPort(51236);
+        boolean connect = barcodeThread.connect();
+        System.out.println(connect);
+        barcodeThread.write("T".getBytes(), "T".length());
+        byte[] read = barcodeThread.read(11, 1000);
+        System.out.println(new String(read));
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e67aa65..599fc2e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -97,18 +97,23 @@
     id: 1
     ip: 192.168.10.150
     port: 51236
+  # 鍙拌溅
+  car[0]:
+    id: 1
+    ip: 192.168.10.150
+    port: 51236
   # LED1
-  led[0]:
-    id: 1
-    ip: 192.168.10.61
-    port: 5005
-    devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 1,2
+#  led[0]:
+#    id: 1
+#    ip: 192.168.10.61
+#    port: 5005
+#    devpPlcId: ${wcs-slave.devp[0].id}
+#    staArr: 1,2
   # 纾呯О
-  scale[0]:
-    id: 1
-    ip: 192.168.10.152
-    port: 8888
+#  scale[0]:
+#    id: 1
+#    ip: 192.168.10.152
+#    port: 8888
 
 
 

--
Gitblit v1.9.1