|  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void execute() throws Exception { | 
 |  |  |         if(session != null){ | 
 |  |  |             if(sendTimes <= ServerProperties.sendTimes){ | 
 |  |  |                 log.info("RTU" + rtuAddr + "开始任务"); | 
 |  |  |                 log.info("RTU" + rtuAddr + "将要执行" + ServerProperties.sendTimes + "轮次任务,当前轮次是" + sendTimes); | 
 |  |  |                 sendDataOfP206V1_0_0() ; | 
 |  |  |             }else{ | 
 |  |  |                 log.info("RTU" + rtuAddr + "等待一会,以接收通信中间件下行数据"); | 
 |  |  |                 if(overStart == 0){ | 
 |  |  |                     overStart = System.currentTimeMillis() ; | 
 |  |  |         if(!this.isOver){ | 
 |  |  |             if(session != null){ | 
 |  |  |                 if(sendTimes <= ServerProperties.sendTimes){ | 
 |  |  |                     log.info("RTU" + rtuAddr + "开始任务"); | 
 |  |  |                     log.info("RTU" + rtuAddr + "将要执行" + ServerProperties.sendTimes + "轮次任务,当前轮次是" + sendTimes); | 
 |  |  |                     sendDataOfP206V1_0_0() ; | 
 |  |  |                 }else{ | 
 |  |  |                     long now = System.currentTimeMillis() ; | 
 |  |  |                     if(now - overStart >= 30 * 1000){ | 
 |  |  |                     if(ServerProperties.sendOverThenCloseConnect == 1){ | 
 |  |  |                         log.info("RTU" + rtuAddr + "等待一会,以接收通信中间件下行数据"); | 
 |  |  |                         if(overStart == 0){ | 
 |  |  |                             overStart = System.currentTimeMillis() ; | 
 |  |  |                         }else{ | 
 |  |  |                             long now = System.currentTimeMillis() ; | 
 |  |  |                             if(now - overStart >= 30 * 1000){ | 
 |  |  |                                 this.jobOver() ; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     }else{ | 
 |  |  |                         this.jobOver() ; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void jobOver(){ | 
 |  |  |         session.closeOnFlush() ; | 
 |  |  |         if(ServerProperties.sendOverThenCloseConnect == 1){ | 
 |  |  |             session.closeOnFlush() ; | 
 |  |  |         } | 
 |  |  |         this.isOver = true ; | 
 |  |  |         TcpClUnit.clientOver() ; | 
 |  |  |     } |