| | |
| | | log.error("更新RTU会话上报数据时刻时发生集合操作异常,此异常并不影响系统正常运行", e); |
| | | } |
| | | try{ |
| | | //log.info("当前下行命令队列中还有结点数量:" + TcpDownCommandCache.size()); |
| | | dealDownCom() ; |
| | | }catch(Exception e){ |
| | | log.error(e); |
| | |
| | | */ |
| | | private Node doDealDownComm(Long now, Node first, Node last){ |
| | | if(last != null){ |
| | | //在dealNode方法中,可能要把last从队列中移除,这时last.pre为空,所以提前把last.pre取出来 |
| | | Node pre = last.pre ; |
| | | dealNode(now, last) ; |
| | | if(first != last){ |
| | | //在dealNode方法中,可能要把last从队列中移除,这时last.pre为空,所以提前把last.pre取出来 |
| | | Node pre = last.pre ; |
| | | dealNode(now, last) ; |
| | | return pre ; |
| | | }else{ |
| | | //停止 |
| | |
| | | * @param node 节点 |
| | | */ |
| | | private void dealNode(Long now, Node node){ |
| | | TcpDownCommandObj obj = (TcpDownCommandObj)node.obj ; |
| | | boolean removeNode = obj.dealSelf(now) ; |
| | | if(removeNode){ |
| | | TcpDownCommandCache.removeNode(node); |
| | | if(node != null && node.obj != null){ |
| | | TcpDownCommandObj obj = (TcpDownCommandObj)node.obj ; |
| | | boolean removeNode = obj.dealSelf(now) ; |
| | | if(removeNode){ |
| | | TcpDownCommandCache.removeNode(node); |
| | | } |
| | | } |
| | | } |
| | | |