diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/webSocket/thread/GetNodeTreeThread.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/webSocket/thread/GetNodeTreeThread.java index 987ab01..2ddd5c8 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/webSocket/thread/GetNodeTreeThread.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/webSocket/thread/GetNodeTreeThread.java @@ -26,7 +26,7 @@ public class GetNodeTreeThread extends Thread { private boolean keepPushNode = true; //前端是否打开了获取ui节点 - private boolean gettingNode = false; //正在获取ui树 + private long lastGetNodeTime; //最近一次获取的时间 private boolean longTimeGetNode = false; //是否长时间没有点击等操作,一直获取 @@ -47,7 +47,6 @@ public class GetNodeTreeThread extends Thread { while (!isInterrupted()) { if (keepPushNode) { try { - gettingNode = true; //正在获取uiNode IosDeviceInitThread iosInitThread = IOSDeviceManager.getInstance().getIosInitThread(deviceId); if (null == iosInitThread || iosInitThread.isInterrupted() || !iosInitThread.isAlive()) { logger.debug("设备【{}】掉线了,等一下,不要急........................", deviceId); @@ -55,7 +54,7 @@ public class GetNodeTreeThread extends Thread { } UiNodeData uiNodeData = iosInitThread.getNkAgent().uiTreeNode(); logger.debug("获取结束,nodeData空:{}", uiNodeData == null); - gettingNode = false; //uiNode获取完毕 + lastGetNodeTime = System.currentTimeMillis(); //uiNode获取完毕,记录一下时间 SessionUtils.sendContinuousData(session, request, uiNodeData, "获取节点树成功"); } catch (IllegalStateException e) { logger.warn("webSession已经关闭",e); @@ -110,7 +109,6 @@ public class GetNodeTreeThread extends Thread { public void startGetNodeTree(CmdRequest request) { this.request = request; this.keepPushNode = true; - this.gettingNode = false; this.longTimeGetNode = false; synchronized (lock) { logger.debug("设备【{}】开始获取节点树...................", deviceId); @@ -126,8 +124,9 @@ public class GetNodeTreeThread extends Thread { public void getOnceNodeTree() { longTimeGetNode = false; if (keepPushNode) { - if (gettingNode) { - logger.warn("设备【{}】正在获取uiNode.............", deviceId); + long currentTime = System.currentTimeMillis(); + if (currentTime - lastGetNodeTime < 2000) { + logger.warn("设备【{}】刚获取完uiNode,先不获取了.............", deviceId); } else { synchronized (lock) { logger.debug("设备【{}】操作了,获取一次节点树...................", deviceId);