Просмотр исходного кода

Merge branch 'master' of http://192.168.1.43:3000/git/sass-lab-distributed-java

zhuchangxue лет назад: 3
Родитель
Сommit
ef129d6e53

+ 6 - 2
zd-modules/zd-netty/src/main/java/com/zd/netty/sdk/DeJuRFIDListenerService.java

@@ -3,6 +3,7 @@ package com.zd.netty.sdk;
 import com.gg.reader.api.dal.GClient;
 import com.gg.reader.api.dal.GServer;
 import com.gg.reader.api.protocol.gx.MsgBaseStop;
+import com.zd.common.core.exception.ServiceException;
 import com.zd.netty.service.IService;
 import com.zd.system.api.laboratory.domain.RemoteLabHardware;
 import lombok.extern.slf4j.Slf4j;
@@ -32,6 +33,8 @@ public class DeJuRFIDListenerService implements IService {
             log.info("开始监听");
         } else {
             log.info("监听失败");
+            start(hardware);
+            throw new ServiceException("监听失败");
         }
     }
 
@@ -51,7 +54,7 @@ public class DeJuRFIDListenerService implements IService {
             log.info(client.getName() + "---监听成功");
             client.setSendHeartBeat(true);//开启心跳检测Tcp连接状态
             client.setPrint(true);
-            subscribeTcpHandler(client);//订阅Tcp断连上报
+            subscribeTcpHandler(client,hardware);//订阅Tcp断连上报
             DeJuRFIDService.setPower(hardware, client);
             DeJuRFIDService.setInventory(hardware, client);
             DeJuRFIDService.subscribeHandler(client);
@@ -59,10 +62,11 @@ public class DeJuRFIDListenerService implements IService {
     }
 
     //订阅TCP断开连接上报
-    private void subscribeTcpHandler(GClient client) {
+    private void subscribeTcpHandler(GClient client, RemoteLabHardware hardware) {
         client.onDisconnected = s -> {
             log.info("连接" + s + "已断开");
             client.close();//释放当前连接资源
+            start(hardware);
         };
     }