Commit aa41a5d9 LN

1.增加重连处理

1 个父辈 dcc32d1c
...@@ -62,42 +62,42 @@ public class MyWebSocketClient extends WebSocketClient { ...@@ -62,42 +62,42 @@ public class MyWebSocketClient extends WebSocketClient {
private static final long RECONNECT_DELAY = 5000; // 重连延迟时间,单位:毫秒 private static final long RECONNECT_DELAY = 5000; // 重连延迟时间,单位:毫秒
private Timer reconnectTimer; // 重连定时器 private Timer reconnectTimer; // 重连定时器
private void startReconnect() { private void startReconnect() {
try { // try {
if (reconnectTimer == null) { // if (reconnectTimer == null) {
reconnectTimer = new Timer(); // reconnectTimer = new Timer();
reconnectTimer.schedule(new TimerTask() { // reconnectTimer.schedule(new TimerTask() {
@Override // @Override
public void run() { // public void run() {
try { // try {
log.info("startReconnect "); // log.info("startReconnect ");
// 创建新的WebSocket连接 // // 创建新的WebSocket连接
reconnect(); // reconnect();
} catch (Exception e) { // } catch (Exception e) {
log.error("出错:" + e.toString()); // log.error("出错:" + e.toString());
} // }
} // }
}, RECONNECT_DELAY); // }, RECONNECT_DELAY);
} // }
} catch (Exception exception) { // } catch (Exception exception) {
log.error("startReconnect error :" + exception.toString()); // log.error("startReconnect error :" + exception.toString());
} // }
} }
private void cancelReconnect() { private void cancelReconnect() {
try{ // try{
if (reconnectTimer != null) { // if (reconnectTimer != null) {
log.info("cancelReconnect "); // log.info("cancelReconnect ");
reconnectTimer.cancel(); // reconnectTimer.cancel();
reconnectTimer = null; // reconnectTimer = null;
} // }
}catch (Exception exception){ // }catch (Exception exception){
log.error("cancelReconnect error :"+exception.toString()); // log.error("cancelReconnect error :"+exception.toString());
} // }
} }
// private void reconnect() throws URISyntaxException { // private void reconnect() throws URISyntaxException {
// URI serverUri = super.getURI(); // URI serverUri = super.getURI();
// MyWebSocketClient newClient = new MyWebSocketClient(serverUri); // this= new MyWebSocketClient(serverUri,msgReceivedListener);
// newClient.connect(); // connect();
// } // }
} }
...@@ -7,6 +7,9 @@ import java.text.SimpleDateFormat; ...@@ -7,6 +7,9 @@ import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
...@@ -95,6 +98,7 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -95,6 +98,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
{ {
return gRequestID++; return gRequestID++;
} }
private boolean needCheck=false;
@PostConstruct @PostConstruct
public void init() { public void init() {
host = dataCache.getConfigCache("hanwha.host", host); host = dataCache.getConfigCache("hanwha.host", host);
...@@ -114,17 +118,46 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -114,17 +118,46 @@ public class TMSCommunicator implements WsMsgReceivedListener {
try { try {
Thread.sleep(20000); Thread.sleep(20000);
start(); start();
Thread.sleep(5000);
needCheck=true;
}catch (Exception e){ }catch (Exception e){
log.error("自动关闭库位灯出错:" + e.getMessage()); log.error("开始连接webService出错:" + e.getMessage());
} }
} }
}); } );
closeTask.start(); closeTask.start();
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.execute(new Runnable() {
@Override
public void run() {
log.info("启动 webService 状态检查");
while(true) {
try {
TimeUnit.SECONDS.sleep(5);
if (needCheck) {
stateCheck();
}
} catch (Exception e) {
log.error("webService" + e.getMessage());
}
}
}
});
// start(); // start();
} }
} }
} }
private void stateCheck(){
if(websocket.isOpen()||websocket.isConnecting()){
}else{
// log.info("开始重连");
start() ;
}
}
private void updateServerInfo(String serverHost, int wport, int aport) { private void updateServerInfo(String serverHost, int wport, int aport) {
host = serverHost; host = serverHost;
webPort = wport; webPort = wport;
...@@ -238,20 +271,26 @@ public class TMSCommunicator implements WsMsgReceivedListener { ...@@ -238,20 +271,26 @@ public class TMSCommunicator implements WsMsgReceivedListener {
@Autowired @Autowired
private TMSApis tmsApis; private TMSApis tmsApis;
private void SyncData(){ private void SyncData() {
Thread thread = new Thread(new Runnable() { Thread thread = new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
// 同步数据 try {
List<String> cids= new ArrayList<>(dataCache.getAllStorage().keySet()); // 同步数据
SyncStorageConnectionInfo(cids.toArray(new String[cids.size()]),new Integer[]{}); List<String> cids = new ArrayList<>(dataCache.getAllStorage().keySet());
List<Map<String, StoragePos>> allUsedPoss= dataCache.getAllUsedPosMap(); SyncStorageConnectionInfo(cids.toArray(new String[cids.size()]), new Integer[]{});
SyncReelData(allUsedPoss); List<Map<String, StoragePos>> allUsedPoss = dataCache.getAllUsedPosMap();
SyncDeliveryReserveState( ); SyncReelData(allUsedPoss);
SyncDeliveryReserveState();
// List<TMSPart> result= tmsApis.RequestGetPartInfo(0,"20180126153040-001"); // List<TMSPart> result= tmsApis.RequestGetPartInfo(0,"20180126153040-001");
// onMsgReceived("{\"PartNames\":[\"Z2203021401A\",\"20180711092420-002\",\"20180710181845-001\"],\"Counts\":[5000,1,1],\"TowerLamp\":false,\"Topic\":\"RequestDeliveryOrder\",\"id\":2,\"uid\":439570}"); // onMsgReceived("{\"PartNames\":[\"Z2203021401A\",\"20180711092420-002\",\"20180710181845-001\"],\"Counts\":[5000,1,1],\"TowerLamp\":false,\"Topic\":\"RequestDeliveryOrder\",\"id\":2,\"uid\":439570}");
// onMsgReceived("{\"PartNames\":[\"Z2203021401A\",\"20180711092420-002\",\"20180710181845-001\"],\"Counts\":[5000,1,1],\"TowerLamp\":false,\"Topic\":\"RequestDeliveryOrder\",\"id\":1,\"uid\":472393}"); // onMsgReceived("{\"PartNames\":[\"Z2203021401A\",\"20180711092420-002\",\"20180710181845-001\"],\"Counts\":[5000,1,1],\"TowerLamp\":false,\"Topic\":\"RequestDeliveryOrder\",\"id\":1,\"uid\":472393}");
} catch (Exception exception) {
log.error(exception.toString());
}
} }
}); });
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!