使用quartz,定時任務(wù),每3s執(zhí)行一次示例

package test;

 

import java.text.ParseException;

import java.util.Date;

 

import org.quartz.CronTrigger;

import org.quartz.Job;

import org.quartz.JobDetail;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.quartz.Scheduler;

import org.quartz.SchedulerException;

import org.quartz.SchedulerFactory;

 

public class TestJob implements Job{

       private static intcnt = 0;

       

       @Override

       public voidexecute(JobExecutionContext context) throws JobExecutionException {

              System.out.println("TestJob" + (++cnt) + " Run! " +new Date());    

              Scheduler scheduler=context.getScheduler();//獲取執(zhí)行的Scheduler

              try {//執(zhí)行3次之后關(guān)閉

                     if(!scheduler.isShutdown()&&cnt==3)//判斷是否在執(zhí)行

                            scheduler.shutdown();

              } catch(SchedulerException e) {

                     e.printStackTrace();

              }

       }

       

       

       public static voidmain(String [] args) throws SchedulerException, ParseException{

               SchedulerFactoryschedFact = new org.quartz.impl.StdSchedulerFactory();

        Scheduler sched = schedFact.getScheduler();

        sched.start();//調(diào)度器啟動

         // 參數(shù):任務(wù)名,任務(wù)組,任務(wù)執(zhí)行類   ,任務(wù)執(zhí)行類決定執(zhí)行哪個execute方法

        JobDetail jobDetail = new JobDetail("TestJob",

                "TestJobGroup", TestJob.class);        

         //觸發(fā)器

        CronTrigger trigger = newCronTrigger("TestJob","TestJobGroup");// 觸發(fā)器名,觸發(fā)器組

         //觸發(fā)事件設(shè)定  

        trigger.setCronExpression("0/3 * * * * ? ");//每3s執(zhí)行一次

         //將任務(wù)和觸發(fā)器加入調(diào)度器,會執(zhí)行execute方法

        sched.scheduleJob(jobDetail, trigger);        

 

       }

 

}

網(wǎng)上找教程,大致實現(xiàn)了功能,觸發(fā)器的時間設(shè)置詳解鏈接為:

http://www.open-open.com/lib/view/open1392211610489.html

大致理解:格式 [秒] [分] [小時] [日] [月] [周] [年]

0/n在 分 位置表示每幾分鐘執(zhí)行一次

0/n在 時 位置表示每幾小時執(zhí)行一次

其余相同,*通配符,?表示不確定

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,829評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 這世上,有個好爸爸真是好,不僅理解你所有的情緒、感概,還能助你人生旅途順順利利,羨煞我也。 好爸爸的疼愛:小桃的好...
    開一片春天在心里閱讀 400評論 2 1