我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          Quartz中SimpleTrigger的探討

          讓我們繼續(xù)用第一個例子中StringTest.
          1.來寫一個每隔10秒啟動一次任務的例子.

          import java.util.Date;

          import org.quartz.JobDetail;
          import org.quartz.Scheduler;
          import org.quartz.SchedulerFactory;
          import org.quartz.SimpleTrigger;
          import org.quartz.impl.StdSchedulerFactory;

          public class SimpleTriggerTest
          {

              
          public static void main(String[] args) throws Exception
              
          {
                  SchedulerFactory schedulerFactory 
          = new StdSchedulerFactory();
                  Scheduler scheduler 
          = schedulerFactory.getScheduler();
                  
          // 系統(tǒng)當前時間10秒后
                  long startTime = System.currentTimeMillis() + 10000L;
                  SimpleTrigger trigger 
          = new SimpleTrigger("myTrigger"nullnew Date(
                          startTime), 
          null00L);

                  JobDetail jobDetail 
          = new JobDetail();
                  jobDetail.setJobClass(StringTest.
          class);
                  jobDetail.setName(
          "test");
                  jobDetail.setGroup(
          "A");

                  scheduler.scheduleJob(jobDetail, trigger);
                  scheduler.start();
              }

          }



          2.創(chuàng)建一個觸發(fā)器,立即啟動,每隔60秒,啟動一次.
          SimpleTrigger trigger = new SimpleTrigger("myTrigger",
                                                      
          null,
                                                      
          new Date(),
                                                      
          null,
                                                      SimpleTrigger.REPEAT_INDEFINITELY,
                                                      
          60L * 1000L);
          3.創(chuàng)建一個觸發(fā)器,立即啟動.從現(xiàn)在開始的第10秒到第40秒重復運行.
          long endTime = System.currentTimeMillis() + 40000L;

            SimpleTrigger trigger 
          = new SimpleTrigger("myTrigger",
                                                      
          "myGroup",
                                                      
          new Date(),
                                                      
          new Date(endTime),
                                                      SimpleTrigger.REPEAT_INDEFINITELY,
                                                      
          10L * 1000L);
          4.創(chuàng)建一個觸發(fā)器,在2008年5月9日,上午10點半執(zhí)行,重復5次,每隔30秒一次.
          java.util.Calendar cal = new java.util.GregorianCalendar(2008, cal.MARCH, 9);
            cal.set(cal.HOUR, 
          10);
            cal.set(cal.MINUTE, 
          30);
            cal.set(cal.SECOND, 
          0);
            cal.set(cal.MILLISECOND, 
          0);

            Data startTime 
          = cal.getTime()

            SimpleTrigger trigger 
          = new SimpleTrigger("myTrigger",
                                                      
          null,
                                                      startTime,
                                                      
          null,
                                                      
          5,
                                                      
          30L * 1000L);

          仔細體會SimpleTrigger的例子,你會發(fā)現(xiàn)用這個制作執(zhí)行計劃會更簡單方便.

          posted on 2008-05-08 17:01 々上善若水々 閱讀(12519) 評論(0)  編輯  收藏 所屬分類: opensource

          主站蜘蛛池模板: 阿拉善盟| 宜丰县| 德格县| 新平| 安陆市| 临高县| 大同市| 长寿区| 故城县| 宜章县| 古蔺县| 神木县| 阿荣旗| 海林市| 台安县| 海伦市| 乌鲁木齐市| 全南县| 兴安盟| 班玛县| 紫金县| 衡山县| 赣榆县| 迁安市| 武功县| 休宁县| 武威市| 无棣县| 抚松县| 郴州市| 噶尔县| 蛟河市| 内黄县| 大竹县| 屯留县| 新乡县| 邹平县| 九龙县| 沈丘县| 广宁县| 施甸县|