<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专区无码观看精品天堂| 精品视频在线免费观看| 亚洲国产另类久久久精品小说 | 一区二区三区亚洲视频| 亚洲欧美日韩一区二区三区在线| 亚洲免费综合色在线视频| 亚洲一级毛片免费看| 黄页免费的网站勿入免费直接进入| 亚洲制服丝袜一区二区三区| 可以免费看黄的网站| 亚洲不卡视频在线观看| 我要看WWW免费看插插视频| 亚洲av无码一区二区三区在线播放| 在线观看永久免费视频网站| 国产精品亚洲精品日韩电影| 亚洲AV无码之日韩精品| 久久久久免费视频| 亚洲天天做日日做天天看| 亚洲精品在线免费观看视频| 亚洲熟妇自偷自拍另欧美| 亚洲 自拍 另类小说综合图区| 久久久久免费视频| 亚洲日韩乱码中文无码蜜桃| 成人性生活免费视频| 久青草国产免费观看| 亚洲人成网址在线观看 | 成人免费无码大片a毛片软件| 亚洲精品无码一区二区| 亚洲熟妇少妇任你躁在线观看无码| 亚洲黄片手机免费观看| 久久久亚洲裙底偷窥综合| 无码视频免费一区二三区| 一级**爱片免费视频| 91精品国产亚洲爽啪在线观看| 破了亲妺妺的处免费视频国产 | 日韩在线天堂免费观看| free哆拍拍免费永久视频| 亚洲视频小说图片| 亚洲国产精品一区二区第一页免|