少年阿賓

          那些青春的歲月

            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 閱讀(842) 評論(0)  編輯  收藏 所屬分類: quartz
          主站蜘蛛池模板: 会同县| 新野县| 云南省| 卢湾区| 中超| 同心县| 昌图县| 云阳县| 靖宇县| 那坡县| 独山县| 新乐市| 富阳市| 汝城县| 电白县| 宣威市| 丹寨县| 江北区| 桂林市| 榕江县| 株洲县| 淅川县| 葫芦岛市| 调兵山市| 乐清市| 迭部县| 黑水县| 周宁县| 库车县| 南陵县| 北川| 汨罗市| 新平| 玉环县| 随州市| 达日县| 中西区| 三明市| 孟津县| 唐河县| 南澳县|