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

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

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

    呆羊在曬太陽  
    公告
    • Y:哦,是你呀。
      X:我現(xiàn)在正在忙。
      Y:忙什么?
      X:呵呵,今天出太陽了,我把錢搬出來曬一曬。
      ***********************
      abc
      小叉
      很高興能結(jié)識大家!
      ***********************
    日歷
    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567
    統(tǒng)計(jì)
    • 隨筆 - 164
    • 文章 - 2
    • 評論 - 196
    • 引用 - 0

    導(dǎo)航

    常用鏈接

    留言簿(7)

    隨筆分類(158)

    文章分類(2)

    相冊

    log

    搜索

    •  

    積分與排名

    • 積分 - 70740
    • 排名 - 780

    最新評論

    閱讀排行榜

     

    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)度程序的下一步動作
    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ū)膕cheduler中被自動刪除。
    2. Volatility: volatile的任務(wù)在scheduler的兩次啟動之間不會被持久化
    3. RequestsRecovery: 如果在執(zhí)行過程中程序意外崩潰,標(biāo)記為"request recovery"的任務(wù)在scheduler重起之后將會被再次執(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)先級的概念), 然后在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-09-21 14:33 小叉 閱讀(282) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
     
    Copyright © 小叉 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 色欲国产麻豆一精品一AV一免费| 色窝窝亚洲av网| 久久中文字幕免费视频| 久久久久亚洲AV成人网| 美女视频黄a视频全免费网站一区| 国产免费无遮挡精品视频| 亚洲国产精品美女久久久久| 在线精品免费视频| 色九月亚洲综合网| av无码东京热亚洲男人的天堂| 色视频在线观看免费| 色噜噜AV亚洲色一区二区| 两个人看的www免费| 久久亚洲精品国产精品黑人| 7m凹凸精品分类大全免费| 亚洲成年人免费网站| 大香人蕉免费视频75| 精品韩国亚洲av无码不卡区| 亚洲国产精品无码久久久久久曰| 国产成人1024精品免费| 久久久亚洲精品国产| 黄色网址免费大全| 亚洲国产精品无码久久98| 中文亚洲AV片在线观看不卡| 99久久人妻精品免费二区| 亚洲三级在线播放| 国产91在线免费| 国内精品99亚洲免费高清| 亚洲最大在线观看| 全亚洲最新黄色特级网站 | 黄色片免费在线观看| 亚洲毛片基地日韩毛片基地| 国产成人精品免费直播| 日韩精品在线免费观看| 亚洲最大的成人网| 亚洲真人无码永久在线| 欧洲乱码伦视频免费| 国产99视频精品免费视频76| 亚洲中文字幕人成乱码| 亚洲愉拍99热成人精品热久久 | 极品美女一级毛片免费|