quartz在web.xml的配置

來源:互聯網
上載者:User

標籤:orm   時間表   job   name   sch   str   exception   com   tar   

第一步:下載所需的Jar包 
commons-beanutils.ja、commons-collections.jar、commons-logging.jar、commons-digester.jar、quartz.jar包 
第二步:在web.xml下配置監聽 
在web.xml下配置監聽的目的是為了項目編譯的時候就自動運行監聽下配置的業務類。

<!--監聽(作用就是啟動項目的時候就會運行這個類,這個類需要實現ServletContextListener介面)--><listener>            <listener-class>                 com.qt.quartz.QuartzMain          </listener-class>     </listener>

 

第三步:編寫com.qt.quartz.QuartzMain類 
這個類只是作為啟動類,調用QuartzLoad類的2個方法,因為這個類是靜態,所以可以用名稱直接點出方法名稱。

package com.qt.quartz;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class QuartzMain implements ServletContextListener {    // 伺服器啟動時執行該事件    @Override    public void contextInitialized(ServletContextEvent arg0) {        try {            QuartzLoad.run();        } catch (Exception e) {            e.printStackTrace();        }    }    // 伺服器停止時執行該事件    @Override    public void contextDestroyed(ServletContextEvent arg0) {        try {            QuartzLoad.stop();        } catch (Exception e) {            e.printStackTrace();        }    }}

第四步:編寫com.qt.quartz.QuartzLoad類 
這個類裡面有2個方法,一個是啟動quartz的方法,一個是關閉方法,這個類裡面可以定製每隔多少時間迴圈調用業務類一次。

package com.qt.quartz;import org.quartz.CronTrigger;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.impl.StdSchedulerFactory;public class QuartzLoad {    private static Scheduler sched;     public static void run() throws Exception {         //建立LzstoneTimeTask的定時任務 //三個參數,第一個是自己取得名稱、第二個是固定的、第三個是業務類        JobDetail jobDetail = new JobDetail("lzstoneJob",sched.DEFAULT_GROUP,QuartzJob.class);  //三個參數,第一個是自己取得名稱、第二個是觸發器組名稱、第三個是自訂時間        CronTrigger trigger = new CronTrigger("lzstoneTrigger","lzstone","0/50 * * * * ?");          sched = new StdSchedulerFactory().getScheduler();          sched.scheduleJob(jobDetail,trigger);          sched.start();    }    //停止      public static void stop() throws Exception{             sched.shutdown();       }  }

序號 說明 是否必填 允許填寫的值 允許的萬用字元 
1 秒 是 0-59 , - * / 
2 分 是 0-59 , - * / 
3 小時 是 0-23 , - * / 
4 日 是 1-31 , - * ? / L W 
5 月 是 1-12 or JAN-DEC , - * / 
6 周 是 1-7 or SUN-SAT , - * ? / L # 
7 年 否 empty 或 1970-2099 , - * /

第五步:編寫QuartzJob.class類,自己的業務處理類

package com.qt.quartz;import java.text.SimpleDateFormat;import java.util.Date;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class QuartzJob implements Job{    @Override    public void execute(JobExecutionContext arg0) throws JobExecutionException {         // TODO Auto-generated method stub         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");          System.out.println("時間表:"+sdf.format(new Date()));     }}

quartz在web.xml的配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.