少年阿賓

          那些青春的歲月

            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 閱讀(848) 評論(0)  編輯  收藏 所屬分類: quartz
          主站蜘蛛池模板: 永寿县| 绍兴市| 宜良县| 通山县| 万宁市| 崇左市| 丰都县| 富锦市| 确山县| 湄潭县| 龙陵县| 乡宁县| 大洼县| 海南省| 哈密市| 华池县| 海原县| 廊坊市| 容城县| 衡水市| 大庆市| 临西县| 视频| 宁晋县| 城固县| 祁阳县| 独山县| 舟山市| 岗巴县| 临沭县| 左云县| 合川市| 盐山县| 华蓥市| 阜新| 古交市| 天台县| 监利县| 汉中市| 靖远县| 丰县|