国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 類庫下載 java類庫 Quartz框架 實(shí)現(xiàn)任務(wù)調(diào)度

Quartz框架 實(shí)現(xiàn)任務(wù)調(diào)度

Nov 05, 2016 pm 01:51 PM
quartz

1.任務(wù)

Job:是一個接口,只有一個方法void execute(JobExecutionContext context),開發(fā)者實(shí)現(xiàn)該接口定義運(yùn)行任務(wù),JobExecutionContext類別提供了調(diào)度上下文的各種資訊。 Job運(yùn)行時的資訊保存在 JobDataMap實(shí)例中;

2.觸發(fā)器

Trigger:是一個類,描述觸發(fā)Job執(zhí)行的時間觸發(fā)規(guī)則。主要有SimpleTrigger和 CronTrigger這兩個子類別。當(dāng)只需觸發(fā)一次或以固定時間間隔週期執(zhí)行,SimpleTrigger是最適合的選擇;而CronTrigger則可以透過Cron表達(dá)式定義出各種複雜時間規(guī)則的調(diào)度方案:如每早晨9:00執(zhí)行,週一、週三、週五下午5:00執(zhí)行等;

3.調(diào)度器

JobDetail:Quartz在每次執(zhí)行Job時,都重新建立一個Job實(shí)例,所以它不直接接受一個Job的實(shí)例,相反它接收一個Job實(shí)作類,以便在運(yùn)行時透過newInstance()的反射機(jī)制實(shí)例化Job。因此需要透過一個類別來描述Job的實(shí)作類別及其它相關(guān)的靜態(tài)訊息,如Job名字、描述、關(guān)聯(lián)監(jiān)聽器等訊息,JobDetail承擔(dān)了這個角色。

建立一個Quartz工作

1.計(jì)畫實(shí)體類別

/**
*
*計(jì)劃實(shí)體類
*/

public class Plan {
    private String date;
    private String task;
    public Plan(String date, String task) {
        
        this.date = date;
        this.task = task;
    }
    public Plan() {
        
    }
    @Override
    public String toString() {
        return "Plan [date=" + date + ", task=" + task + "]";
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
    public String getTask() {
        return task;
    }
    public void setTask(String task) {
        this.task = task;
    }
}

2.提醒服務(wù)類別

/**
 * 
 * @提醒服務(wù)類
 *
 */
public class RemindService {
    //數(shù)據(jù)查詢
    public List<Plan> getPlansForToday(){
        List<Plan> list=new ArrayList<Plan>();
        Plan p1=new Plan("2016-11-3","呵呵");
        Plan p2=new Plan("2016-11-4","嘿嘿");
        list.add(p1);
        list.add(p2);
        return list;
        
    }
    //提醒服務(wù)類
    public void ouputPlan(){
        List<Plan> forToday = getPlansForToday();
        for (Plan plan : forToday) {
            System.out.println("計(jì)劃時間"+plan.getDate()+"計(jì)劃內(nèi)容"+plan.getTask());
        }
    }
}

3.提醒任務(wù)類別

/**
 * 
 * @提醒任務(wù)類
 *
 */
public class RemindJob implements Job {
    private RemindService service=new RemindService();
    
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        service.getPlansForToday();
        
    }
    public RemindService getService() {
        return service;
    }
    public void setService(RemindService service) {
        this.service = service;
    }
}

4.調(diào)度定時器任務(wù)

3.提醒任務(wù)類別

public class TestJob {
    public static void doRemind() throws SchedulerException, InterruptedException{
        //創(chuàng)建一個任務(wù)
        JobDetail job =JobBuilder.newJob(RemindJob.class).withIdentity("job1", "group1").build();
        //創(chuàng)建一個觸發(fā)器
        
        /*Trigger trigger = TriggerBuilder.newTrigger() 
                .withIdentity(TriggerKey.triggerKey("myTrigger", "myTriggerGroup"))
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                    .withIntervalInMilliseconds(2))
                .startAt(new Date(System.currentTimeMillis()+2000))
                .build();*/
        Trigger trigger=TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1").
                withSchedule(CronScheduleBuilder.cronSchedule("0 34 16 ? * 5#1 2016")).build();
        SchedulerFactory s=new StdSchedulerFactory();
        Scheduler scheduler = s.getScheduler();
        //注冊并進(jìn)行調(diào)度
        scheduler.scheduleJob(job,trigger);
        //啟動調(diào)度
        scheduler.start();
        //睡眠10s
        //Thread.sleep(10000);
        //關(guān)閉調(diào)度
        //scheduler.shutdown();
    }
        public static void main(String[] args) throws SchedulerException, InterruptedException {
            doRemind();
        }
}
4.調(diào)度定時器任務(wù)

reee Quartz框架 實(shí)現(xiàn)任務(wù)調(diào)度

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276