亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

HelloJob的實例是怎么創建出來的?

先定義了一個HellJob的任務類,然后創建JobDetail的實例與此類進行綁定,在然后scheduler調用什么方法創建的實例呢?

正在回答

1 回答

//啟動任務調度程序,內部機制是線程的啟動
? scheduler.start();

具體代碼如下,供參考:

//從調度程序工廠獲取一個調度程序的實例
? ? ? ? ? ?Scheduler ?scheduler ?= StdSchedulerFactory.getDefaultScheduler();

? ? ? ? ? ?//顯示調度程序的名稱(這里會展示我們在quartz.properties文件中的名稱)
? ? ? ? ? ?System.out.println("scheduleName = " + scheduler.getSchedulerName());


? ? ? ? ? ?/** 重要:
? ? ? ? ? ? * ?定義一個job,并綁定到我們自定義的HelloJob的class對象
? ? ? ? ? ? * ?這里并不會馬上創建一個HelloJob實例,實例創建是在scheduler安排任務觸發執行時創建的
? ? ? ? ? ? * ?這種機制也為后面使用Spring集成提供了便利
? ? ? ? ? ? */
? ? ? ? ? ? ?JobDetail job = newJob(HelloJob.class) ? ? ? ? ? ? ? ? ?.withIdentity("job1", "group1") ? ? ? ? ? ? ? ? ?.build();

? ? ? ? ? ? ?// 聲明一個觸發器,現在就執行(schedule.start()方法開始調用的時候執行);并且每間隔2秒就執行一次
? ? ? ? ? ? ?Trigger trigger = newTrigger() ? ? ? ? ? ? ? ? ?.withIdentity("trigger1", "group1") ? ? ? ? ? ? ? ? ?.startNow() ? ? ? ? ? ? ? ? ? ? ? ?.withSchedule(simpleSchedule() ? ? ? ? ? ? ? ? ? ? ? ? ?.withIntervalInSeconds(2) ? ? ? ? ? ? ? ? ? ? ? ? ?.repeatForever()) ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?.build();

? ? ? ? ? ? ?// 告訴quartz使用定義的觸發器trigger安排執行任務job
? ? ? ? ? ? ?scheduler.scheduleJob(job, trigger);

? ? ? ? ? ?//啟動任務調度程序,內部機制是線程的啟動
? ? ? ? ? ?scheduler.start();

? ? ? ? ? ?//關閉任務調度程序,如果不關閉,調度程序schedule會一直運行著
? ? ? ? ? ?//scheduler.shutdown();


0 回復 有任何疑惑可以回復我~
#1

我叫楊云龍 提問者

非常感謝!
2018-03-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

HelloJob的實例是怎么創建出來的?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號