Commit 0c5d42677fd2492496d7b4f24b9db50c3fd9c3cf

Authored by 王通
1 parent e5afeda5

1.IP白名单相关

src/main/java/com/bsth/XDApplication.java
@@ -122,6 +122,9 @@ public class XDApplication implements CommandLineRunner { @@ -122,6 +122,9 @@ public class XDApplication implements CommandLineRunner {
122 case "test": 122 case "test":
123 testInit(); 123 testInit();
124 break; 124 break;
  125 + case "cloud":
  126 + cloudInit();
  127 + break;
125 default: 128 default:
126 break; 129 break;
127 } 130 }
@@ -271,4 +274,49 @@ public class XDApplication implements CommandLineRunner { @@ -271,4 +274,49 @@ public class XDApplication implements CommandLineRunner {
271 //线路版本更新 274 //线路版本更新
272 //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS); 275 //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
273 } 276 }
  277 +
  278 + public void cloudInit(){
  279 + log.info("cloudInit...");
  280 + ScheduledExecutorService sexec = Application.mainServices;
  281 + //安全驾驶
  282 + sexec.scheduleWithFixedDelay(safeDrivDataLoadThread, 180, 10, TimeUnit.SECONDS);
  283 +
  284 + GpsDataLoaderThread.setFlag(-1);
  285 + /** 线调业务 */
  286 + sexec.scheduleWithFixedDelay(scheduleRefreshThread, 10, 120, TimeUnit.SECONDS);//班次更新线程
  287 + sexec.scheduleWithFixedDelay(scheduleLateThread, 140, 20, TimeUnit.SECONDS);//检查班次误点
  288 + sexec.scheduleWithFixedDelay(gpsDataLoader, 0, 2, TimeUnit.SECONDS);//抓取GPS数据
  289 + sexec.scheduleWithFixedDelay(rfidDataLoader, 5, 5, TimeUnit.SECONDS);//抓取RFID数据
  290 + sexec.scheduleWithFixedDelay(fixedCheckStationCodeThread, 60, 60 * 5, TimeUnit.SECONDS);//检查班次站点编码
  291 +
  292 + sexec.scheduleWithFixedDelay(offlineMonitorThread, 120, 60, TimeUnit.SECONDS);//GPS设备掉离线
  293 + sexec.scheduleWithFixedDelay(schedulePstThread, 180, 10, TimeUnit.SECONDS);//班次延迟入库线程
  294 + sexec.scheduleWithFixedDelay(seiPstThread, 180, 60, TimeUnit.SECONDS);//班次修正日志入库
  295 + sexec.scheduleWithFixedDelay(directivesPstThread, 120, 60, TimeUnit.SECONDS);//调度指令延迟入库
  296 + sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作)
  297 + sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据
  298 + sexec.scheduleWithFixedDelay(basicDataLoader, 1, 1, TimeUnit.HOURS);//基础数据更新
  299 + sexec.scheduleWithFixedDelay(whiteIpDataLoader, 0, 1, TimeUnit.MINUTES);//IP白名单数据更新
  300 + sexec.scheduleWithFixedDelay(autoExecScanThread, 180, 50, TimeUnit.SECONDS);//班次自动执行
  301 + DirectivePushQueue.start();//消息队列 -指令,系统下发的
  302 + WebSocketPushQueue.start();//消息队列 -webSocket ,推送至线调web页面的
  303 +
  304 + /** 线调为其他程序提供的数据 --写入数据库 */
  305 + sexec.scheduleWithFixedDelay(fcxxUpdateThread, 160, 30, TimeUnit.SECONDS);//发车信息(发车屏、信息发布)
  306 + //线路首末班数据(网关用,班次更新时写入)
  307 + //com.bsth.data.schedule.f_a_l.FirstAndLastHandler
  308 + sexec.scheduleWithFixedDelay(schSiginUpdateDBThread, 160, 60 * 30, TimeUnit.SECONDS);//无法自动完成的班次信息(网关用,补信号)
  309 +
  310 + //运管处静态数据提交
  311 + log.info(timeDiff / 1000 / 60 + "分钟之后提交到运管处");
  312 + sexec.scheduleAtFixedRate(submitToTrafficManage, timeDiffTraffic / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  313 + //计算油、公里加注
  314 + sexec.scheduleAtFixedRate(calcOilThread, timeDiff / 1000, 60 * 60 * 24, TimeUnit.SECONDS);
  315 +
  316 + //线路版本更新
  317 + sexec.scheduleWithFixedDelay(lineVersionsData, 60 * 5, 60 * 15, TimeUnit.SECONDS);
  318 +
  319 + //线路版本更新
  320 + //sexec.scheduleWithFixedDelay(fixedEnableVerionsThread, 60 * 4, 60 * 2 , TimeUnit.SECONDS);
  321 + }
274 } 322 }