日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java - 定時任務TimerTask沒有被全部成功執行

瀏覽:271日期:2023-10-22 17:15:22

問題描述

我這建立了一個TimerManager的類,目的是讓系統跑起來之后,執行相應的4個任務。但是,4個任務之中只有兩個被成功執行了,他們分別是timer和timer3,后面的兩個timer2和timer4并沒有被執行到。百思不得其解,所以來sf讓各位幫我看看是什么問題,下面是TimerManager的代碼:

public class TimerManager { @Resource RemoteControlController remoteControlController;@Resource ManagementStationService managementStationService; @Resource ControllerStatusController controllerStatusController; // 時間間隔 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; public static final long PERIOD_DAY2 = 60 * 60 * 1000; private static final long PERIOD_DAY3 = 60 * 60 * 1000; private static final int START_TIME = 1; private static final int START_TIME2 = 0; private Logger log = Logger.getLogger('ServerInfo'); public void initTimerManager() {Calendar calendar = Calendar.getInstance();Calendar calendar2 = Calendar.getInstance();/*** 定制每日1:00執行方法 ***/calendar.set(Calendar.HOUR_OF_DAY, START_TIME);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);/*** 定制每日0:00執行方法 ***/calendar2.set(Calendar.HOUR_OF_DAY, START_TIME2);calendar2.set(Calendar.MINUTE, 0);calendar2.set(Calendar.SECOND, 0);Date date = calendar.getTime(); //第一次執行定時任務的時間 ,date重啟不執行Date date2 = calendar.getTime();//date2、3重啟執行Date date3 = calendar2.getTime();// 如果第一次執行定時任務的時間 小于 當前的時間// 此時要在第一次執行定時任務的時間加一天,以便此任務在下個時間點執行。如果不加一天,任務會立即執行。if (date.before(new Date())) { date = this.addDay(date, 1);}Timer timer = new Timer();Timer timer2 = new Timer();Timer timer3 = new Timer();Timer timer4 = new Timer();UpdateDailyEletricPowerTimerTask task = new UpdateDailyEletricPowerTimerTask();UpdateLampStatusTimerTask task2 = new UpdateLampStatusTimerTask();UpdateCurrentEletricDataTimerTask task3 = new UpdateCurrentEletricDataTimerTask();UpdateCurrentControllerStatusTimerTask task4 = new UpdateCurrentControllerStatusTimerTask();// 安排指定的任務在指定的時間開始進行重復的固定延遲執行。timer.schedule(task, date, PERIOD_DAY);timer3.schedule(task3, date3, PERIOD_DAY2);timer4.schedule(task4, date3, PERIOD_DAY3);//先更新路由狀態timer2.schedule(task2, date2, PERIOD_DAY);//再更新燈狀態 } // 增加或減少天數 public Date addDay(Date date, int num) {Calendar startDT = Calendar.getInstance();startDT.setTime(date);startDT.add(Calendar.DAY_OF_MONTH, num);return startDT.getTime(); }public class UpdateCurrentEletricDataTimerTask extends TimerTask {@Overridepublic void run() { try {// 在這里寫你要執行的內容/** * 查詢實時功率等數據 */log.info('-------------UpdateCurrentEletricDataTimerTask正在執行--------------');remoteControlController.currentElectricDataCollecting();log.info('-------------UpdateCurrentEletricDataTimerTask執行完畢--------------'); } catch (Exception e) {log.info('-------------UpdateCurrentEletricDataTimerTask解析信息發生異常--------------'); }} }

public class UpdateCurrentControllerStatusTimerTask extends TimerTask {@Overridepublic void run() { try {// 在這里寫你要執行的內容/** * 查詢實時功率等數據 */log.info('-------------UpdateCurrentControllerStatusTimerTask正在執行--------------');remoteControlController.readRouterStatus();log.info('-------------UpdateCurrentControllerStatusTimerTask執行完畢--------------'); } catch (Exception e) {log.info('-------------UpdateCurrentControllerStatusTimerTask解析信息發生異常--------------'); }} }public class UpdateDailyEletricPowerTimerTask extends TimerTask {@Overridepublic void run() { try {// 在這里寫你要執行的內容/** * 查詢前昨兩天日凍結正向有功總電量 */log.info('-------------UpdateDailyEletricPowerTimerTask正在執行--------------');remoteControlController.dailyPositiveElectricPowerCollecting();log.info('-------------UpdateDailyEletricPowerTimerTask執行完畢--------------'); } catch (Exception e) {log.info('-------------UpdateDailyEletricPowerTimerTask解析信息發生異常--------------'); }} }public class UpdateLampStatusTimerTask extends TimerTask {@Overridepublic void run() { try {// 在這里寫你要執行的內容/** * 更新全部燈具狀態 */log.info('-------------UpdateLampStatusTimerTask正在執行--------------');List<ManagementStation> mlist = managementStationService.getManagementStationList();int msize = mlist.size();log.info('**********UpdateLampStatusTimerTask獲取的管理所長度為'+msize);if(msize > 0){ String[] arr = new String[msize]; for(int i = 0; i < msize; i++)arr[i] = String.valueOf(mlist.get(i).getMid()); boolean realTime = false; controllerStatusController.UpdateControllerStatus(arr,realTime);}log.info('-------------UpdateLampStatusTimerTask執行完畢-------------'); } catch (Exception e) {log.info('-------------UpdateLampStatusTimerTask解析信息發生異常--------------'); }} }}

問題解答

回答1:

我沒用過 Timer,也不打算對如何調試這個程序提建議。我建議用 quartz 這樣的成熟框架來做這類事情。如果一定要自己設計的話,Timer 也不是最好的選擇,標準的思路應該是:

創建一個守護線程,管理每個定時任務的周期;

當一個定時任務執行時間到了,守護線程另開一個線程執行這個任務;

如果一個任務執行時間超過周期,則推遲下次執行時間到下一個周期。

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲一区国产一区| 国产欧美另类| 五月天av在线| 日韩欧美一区二区三区免费观看| 亚洲最新无码中文字幕久久| 久久久五月天| 老司机久久99久久精品播放免费| 日韩欧美在线精品| 国产精品白丝一区二区三区| 精品一区二区三区在线观看视频| 伊人久久在线| 亚洲专区在线| 国产精品主播| 成人久久一区| 亚洲综合图色| 日韩高清二区| 红杏一区二区三区| 国产一区亚洲| 日韩精品国产欧美| 中文字幕在线视频网站| 亚洲在线一区| 国内不卡的一区二区三区中文字幕| 久久国产成人午夜av影院宅| 中文字幕日韩亚洲| 成人在线免费观看网站| 香蕉精品久久| 婷婷综合国产| 中文在线免费视频| 亚洲麻豆一区| 日本一区二区高清不卡| 国产专区一区| 日韩精品亚洲aⅴ在线影院| 麻豆中文一区二区| 亚洲免费观看| 精品久久99| 亚洲综合小说| 99久精品视频在线观看视频| 国产视频一区二| av亚洲免费| 久久不见久久见免费视频7| 亚洲国产一区二区在线观看| 国产精品久久久久毛片大屁完整版| 亚洲先锋成人| 精品淫伦v久久水蜜桃| 视频一区视频二区中文字幕| 国内不卡的一区二区三区中文字幕| 国产综合激情| 精品亚洲二区| 日韩中出av| 影视先锋久久| 老司机精品在线| 蜜桃免费网站一区二区三区| 日韩欧美一区免费| 国产精品丝袜在线播放| 在线视频免费在线观看一区二区| 韩日一区二区| 日本免费新一区视频| 夜夜嗨一区二区| av高清一区| 久久免费福利| 7777精品| 亚洲一区激情| 私拍精品福利视频在线一区| 久久99久久久精品欧美| 亚洲最大av| 99视频一区| 欧美日韩在线二区| 国产中文在线播放| 国产精久久久| 日本国产欧美| 亚洲欧美网站在线观看| 夜鲁夜鲁夜鲁视频在线播放| 日韩在线二区| 成人国产精选| 美女精品视频在线| 久久av中文| 日本成人手机在线| 日韩精品一区二区三区免费视频 | 日本国产亚洲| 视频一区视频二区中文| 免费久久精品| 99久久婷婷这里只有精品| 在线手机中文字幕| 国产传媒av在线| 国产suv精品一区| 国产一区二区精品久| 国产亚洲高清一区| 国产女人18毛片水真多18精品| 日韩国产在线观看一区| 日韩一区二区三区精品| 日韩精品免费一区二区夜夜嗨 | 最新亚洲一区| 亚洲精品1区| 亚洲一区亚洲| 日韩中文字幕1| 综合亚洲自拍| 日韩1区2区3区| 欧美日韩亚洲一区在线观看| 青青草91久久久久久久久| 日韩中文字幕1| 日本特黄久久久高潮| 国产精品资源| 国产不卡精品| 久久中文亚洲字幕| 91久久久久| 亚洲精品字幕| 国产乱码精品一区二区亚洲| 国产精品v一区二区三区| 鲁大师精品99久久久| 日韩欧美一区二区三区在线视频| 国产精品99免费看| 亚洲精品美女91| 欧美91在线| 欧美一区久久久| 久久精品卡一| 亚洲精品在线二区| 久久99偷拍| 久久黄色影院| 蜜桃一区二区三区在线观看| 欧美专区一区| 国产精品国产一区| 久久精品国产大片免费观看| 六月丁香综合| 国产丝袜一区| 成人羞羞在线观看网站| 亚洲一区二区免费看| 91精品国产自产观看在线 | 亚洲伊人影院| 国产精选久久| 99国产精品免费视频观看| 久久福利一区| 美女视频网站久久| 视频一区中文| 青青草精品视频| 肉色欧美久久久久久久免费看| 久久亚洲电影| 美女毛片一区二区三区四区最新中文字幕亚洲 | 亚洲天堂久久| 日韩毛片一区| 亚洲性色av| 日本伊人午夜精品| 最新中文字幕在线播放| 国产农村妇女精品一二区| 日韩国产欧美视频| 日韩中文影院| 日本成人在线不卡视频| 91精品一区二区三区综合| 日本一区福利在线| 九九色在线视频| 日本不卡视频在线| 久久男女视频| 国产精品xvideos88| 久久一级电影| 国产精品白丝av嫩草影院| 好吊一区二区三区| 久久精品国产99国产精品| 亚洲国产一区二区在线观看| 免费视频一区二区三区在线观看| 自拍日韩欧美| 精品视频亚洲| 午夜精品福利影院| 久久中文视频| 久久精品国产久精国产| 欧美一区=区| 欧洲av不卡| 乱一区二区av| 婷婷亚洲成人| 激情综合激情| 97精品视频在线看| 欧美久久久网站| 尤物在线精品| 91九色精品| 首页国产欧美日韩丝袜| 亚洲人妖在线| 久久久久欧美精品| 国产毛片精品| 蜜桃久久精品一区二区| 99久久九九| 国产一区二区三区久久| 欧美亚洲网站| 亚洲日本国产| 视频在线在亚洲| 亚洲精品.com| 成人综合一区| 国产精品一国产精品| 亚洲一区二区三区高清| 亚洲国产专区校园欧美| 日韩免费av| 成人日韩av| 精品高清久久| 精品黄色一级片| 国产精品地址| 国产欧美69| 久久国产人妖系列| 日本欧美在线| 日韩av一区二区三区四区| 亚洲精品护士| 老司机精品久久| 日韩影院免费视频| 久久亚洲色图|