<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kingpub

    海內(nèi)存知己,博客若比鄰

     

    quartz是一個(gè)高質(zhì)量的任務(wù)調(diào)度軟件包

    Scheduler接口: quartz的執(zhí)行線程,它根據(jù)Trigger決定調(diào)度時(shí)刻,根據(jù)JobDetail的說明實(shí)例化并運(yùn)行Job

    JobDetail類: 可持久化的任務(wù)描述信息。任務(wù)雖然分組,但是僅用作管理標(biāo)示,任務(wù)之間并無實(shí)質(zhì)性關(guān)聯(lián), 例如無法定義job chain。

    Trigger類:任務(wù)的調(diào)度策略。這里的特點(diǎn)是調(diào)度策略與任務(wù)描述分開,調(diào)度策略和任務(wù)描述都可以分別在Scheduler注冊,然后再關(guān)聯(lián)起來。JobDetail與Trigger的關(guān)系是一對多。

    JobDataMap: 將任務(wù)的運(yùn)行時(shí)可持久化狀態(tài)信息從JobDetail類中分離出來

    Job接口: 任務(wù)的執(zhí)行代碼

    StatefulJob接口: 無狀態(tài)任務(wù)對應(yīng)的JobDataMap可以認(rèn)為是只讀的,而有狀態(tài)的任務(wù)在多次執(zhí)行過程中保留對JobDataMap所作的修改,一個(gè)后果是有狀態(tài)任務(wù)無法被并發(fā)執(zhí)行。

    JobExecutionException類: 可以通過JobExecutionException調(diào)整調(diào)度程序的下一步動(dòng)作
    Calendar接口: 用于從trigger的調(diào)度計(jì)劃中排除某些時(shí)間段,例如假期等。

    以上幾個(gè)部分的交互關(guān)系如下:
    class JobImpl implements Job{
    ??? public void execute(JobExecutionContext context) throws JobExecutionException{
    ??????? JobDetail detail = context.getJobDetail();
    ??????? JobDataMap dataMap = detail.getJobDataMap();
    ??????? ...
    ??? }
    }

    scheduler.addCalendar("myHolidays", holidayCalendar, false);
    trigger.setCanlendarName("myHolidays");

    JobDetail jobDetail = new JobDetail(jobName, jobGroupName, JobImpl.class);

    scheduler.scheduleJob(jobDetail, trigger);

    JobDetail可以設(shè)置如下屬性:
    1. Durability: non-durable的任務(wù)當(dāng)不再與任何active trigger關(guān)聯(lián)的時(shí)候?qū)?huì)從scheduler中被自動(dòng)刪除。
    2. Volatility: volatile的任務(wù)在scheduler的兩次啟動(dòng)之間不會(huì)被持久化
    3. RequestsRecovery: 如果在執(zhí)行過程中程序意外崩潰,標(biāo)記為"request recovery"的任務(wù)在scheduler重起之后將會(huì)被再次執(zhí)行,此時(shí)JobExecutionContext.isRecovering()返回true.

    Trigger可以設(shè)置如下屬性:
    1. misfireInstruction: 設(shè)定當(dāng)trigger錯(cuò)過了觸發(fā)時(shí)刻的時(shí)候需要采取的處理策略

    SimpleTrigger按照固定的時(shí)間間隔進(jìn)行觸發(fā)
    startTime, endTime, repeatCount, repeatInterval

    CronTrigger按照日歷間隔進(jìn)行觸發(fā)
    seconds minutes hours day-of-month month day-of-week

    在quartz內(nèi)部,QuartzSchedulerThread按照時(shí)間順序選擇trigger(沒有任務(wù)優(yōu)先級(jí)的概念), 然后在JobRunShell中運(yùn)行Job。

    JobRunShell中的調(diào)用順序如下:

    TriggerListener.triggerFired
    ??? Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed.

    TriggerListener.vetoJobExecution
    ??? Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed.

    JobListener.jobToBeExecuted
    ??? Called by the Scheduler when a JobDetail is about to be executed (an associated Trigger has occured).

    Job.execute
    ??? Called by the Scheduler when a Trigger fires that is associated with the Job.
    ?
    JobListener.jobWasExecuted
    ??? Called by the Scheduler after a JobDetail has been executed, and be for the associated Trigger's triggered(xx) method has

    been called.

    Trigger.executionComplete
    ??? Called after the Scheduler has executed the JobDetail associated with the Trigger in order to get the final instruction

    code from the trigger.

    TriggerListener.triggerComplete
    ???? Called by the Scheduler when a Trigger has fired, it's associated JobDetail has been executed, and it's triggered(xx)

    method has been called.

    SchedulerListener.triggerFinalized [if(trigger.getNextFireTime() == null)]
    ???? Called by the Scheduler when a Trigger has reached the condition in which it will never fire again.

    posted on 2006-06-05 12:06 xiaofeng 閱讀(316) 評(píng)論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲色大成网站www尤物| 老汉色老汉首页a亚洲| 亚洲av成人一区二区三区观看在线 | 亚洲国产美女在线观看| 伊人免费在线观看| 亚洲综合精品香蕉久久网| 日本精品久久久久久久久免费| 在线观看亚洲视频| 在线永久免费观看黄网站| 特级毛片免费播放| 免费A级毛片无码久久版| 偷自拍亚洲视频在线观看99| 国产乱子伦精品免费无码专区| 亚洲成AV人片一区二区| 日本视频在线观看永久免费| 亚洲AV第一页国产精品| 99视频精品全部免费观看| 亚洲制服丝袜在线播放| 成人毛片18女人毛片免费视频未| 九月丁香婷婷亚洲综合色| 无码人妻精品中文字幕免费| 亚洲人成影院在线高清| 日本高清免费不卡视频| 国产裸体美女永久免费无遮挡| 91免费国产在线观看| 亚洲精品一卡2卡3卡四卡乱码| 日韩精品久久久久久免费| 亚洲av无码片区一区二区三区| 99在线免费视频| 亚洲成综合人影院在院播放| 国产片免费在线观看| 青青操在线免费观看| 久久狠狠爱亚洲综合影院| 免费成人午夜视频| 四虎国产成人永久精品免费| 亚洲国产精品综合福利专区| 亚洲av中文无码| 国产2021精品视频免费播放| 免费人成在线观看播放a| 精品亚洲成AV人在线观看| 国产又粗又猛又爽又黄的免费视频 |