少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          package com.abin.lee.quartz.all;

          import org.quartz.Job;
          import org.quartz.JobExecutionContext;
          import org.quartz.JobExecutionException;

          public class UniversalQuartz implements Job{

           public void execute(JobExecutionContext arg0) throws JobExecutionException {
            System.out.println("執行定時任務: "+System.currentTimeMillis());
            
           }
           
          }




          package com.abin.lee.quartz.all;

          import java.text.ParseException;
          import java.util.Date;

          import org.quartz.CronTrigger;
          import org.quartz.JobDetail;
          import org.quartz.Scheduler;
          import org.quartz.SchedulerException;
          import org.quartz.SchedulerFactory;

          public class UniversalQuartzManager {
           private static UniversalQuartzManager instance = null;
           private Scheduler sched = null;
           private SchedulerFactory factory = null;

           private UniversalQuartzManager() {
            _init();
           }

           private void _init() {
            factory = new org.quartz.impl.StdSchedulerFactory();
            try {
             sched = factory.getScheduler();
            } catch (SchedulerException e) {
             e.printStackTrace();
            }
           }

           public synchronized static UniversalQuartzManager getInstance() {
            if (instance == null) {
             instance = new UniversalQuartzManager();
            }
            return instance;
           }

           public void start() {
            try {
             sched.start();
             // 在這里加載需要執行的業務邏輯類UniversalQuartz.class
             JobDetail detail = new JobDetail("cmhksynchron", "cmhkSynch",
               UniversalQuartz.class);
             CronTrigger trigger = new CronTrigger();
             // 手動添加了時間
             trigger.setCronExpression("0/10 * * * * ? *");
          //   trigger.setCronExpression("0 0-59 16 * * ?");
             trigger.setName("abintrigger");
             trigger.setStartTime(new Date());
             sched.scheduleJob(detail, trigger);
            } catch (SchedulerException e) {
             e.printStackTrace();
            } catch (ParseException e2) {
             e2.printStackTrace();
            }
           }

           public void stop() {
            try {
             sched.shutdown();
             sched = factory.getScheduler();
            } catch (SchedulerException e) {
             e.printStackTrace();
            }
           }

           public void refresh() {
            // 未知的原因,程序執行這段判斷進入stop(),在sched.shutdown();這一句報錯,//所以暫時將其屏蔽,以待后來解決
            // try {
            // if(sched != null && sched.isStarted()) {
            // this.stop();
            // }
            this.start();
            // } catch (SchedulerException e) {
            // e.printStackTrace();
            // }
           }

          }

           




          package com.abinl.lee.quartz.all.test;

          import com.abin.lee.quartz.all.UniversalQuartzManager;

          public class TestQuartz {
           public static void main(String[] args) {
            UniversalQuartzManager.getInstance().refresh(); 
           }

          }



          posted on 2012-08-25 12:43 abin 閱讀(856) 評論(0)  編輯  收藏 所屬分類: quartz
          主站蜘蛛池模板: 德阳市| 许昌县| 施秉县| 临汾市| 永登县| 金堂县| 客服| 洞头县| 翁源县| 孟连| 定襄县| 利辛县| 宁陵县| 崇义县| 临武县| 泗水县| 汉寿县| 上杭县| 同江市| 长治县| 五台县| 多伦县| 杭锦后旗| 太仓市| 敦煌市| 蒙山县| 浦城县| 阳曲县| 张家界市| 嘉祥县| 个旧市| 鹤岗市| 富宁县| 沛县| 茶陵县| 陇南市| 南和县| 镇江市| 崇阳县| 阳朔县| 黔江区|