⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jobstateexample.java

📁 Quartz is a full-featured, open source job scheduling system that can be integrated with, or used al
💻 JAVA
字号:
/*  * Copyright 2005 OpenSymphony  *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not  * use this file except in compliance with the License. You may obtain a copy  * of the License at  *  *   http://www.apache.org/licenses/LICENSE-2.0  *    * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the  * License for the specific language governing permissions and limitations  * under the License. *  */package org.quartz.examples.example4;import java.util.Date;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.SchedulerMetaData;import org.quartz.SimpleTrigger;import org.quartz.TriggerUtils;import org.quartz.impl.StdSchedulerFactory;/** * This Example will demonstrate how job parameters can be  * passed into jobs and how state can be maintained *  * @author Bill Kratzer */public class JobStateExample {    public void run() throws Exception {        Log log = LogFactory.getLog(JobStateExample.class);        log.info("------- Initializing -------------------");        // First we must get a reference to a scheduler        SchedulerFactory sf = new StdSchedulerFactory();        Scheduler sched = sf.getScheduler();        log.info("------- Initialization Complete --------");        log.info("------- Scheduling Jobs ----------------");        // get a "nice round" time a few seconds in the future....        long ts = TriggerUtils.getNextGivenSecondDate(null, 10).getTime();        // job1 will only run 5 times, every 10 seconds        JobDetail job1 = new JobDetail("job1", "group1", ColorJob.class);        SimpleTrigger trigger1 = new SimpleTrigger("trigger1", "group1", "job1", "group1",                new Date(ts), null, 4, 10000);        // pass initialization parameters into the job        job1.getJobDataMap().put(ColorJob.FAVORITE_COLOR, "Green");        job1.getJobDataMap().put(ColorJob.EXECUTION_COUNT, 1);                // schedule the job to run        Date scheduleTime1 = sched.scheduleJob(job1, trigger1);        log.info(job1.getFullName() +                " will run at: " + scheduleTime1 +                  " and repeat: " + trigger1.getRepeatCount() +                 " times, every " + trigger1.getRepeatInterval() / 1000 + " seconds");        // job2 will also run 5 times, every 10 seconds        JobDetail job2 = new JobDetail("job2", "group1", ColorJob.class);        SimpleTrigger trigger2 = new SimpleTrigger("trigger2", "group1", "job2", "group1",                new Date(ts + 1000), null, 4, 10000);        // pass initialization parameters into the job        // this job has a different favorite color!        job2.getJobDataMap().put(ColorJob.FAVORITE_COLOR, "Red");        job2.getJobDataMap().put(ColorJob.EXECUTION_COUNT, 1);                // schedule the job to run        Date scheduleTime2 = sched.scheduleJob(job2, trigger2);        log.info(job1.getFullName() +                " will run at: " + scheduleTime1 +                  " and repeat: " + trigger1.getRepeatCount() +                 " times, every " + trigger1.getRepeatInterval() / 1000 + " seconds");        log.info("------- Starting Scheduler ----------------");        // All of the jobs have been added to the scheduler, but none of the jobs        // will run until the scheduler has been started        sched.start();        log.info("------- Started Scheduler -----------------");                log.info("------- Waiting 60 seconds... -------------");        try {            // wait five minutes to show jobs            Thread.sleep(60L * 1000L);             // executing...        } catch (Exception e) {        }        log.info("------- Shutting Down ---------------------");        sched.shutdown(true);        log.info("------- Shutdown Complete -----------------");        SchedulerMetaData metaData = sched.getMetaData();        log.info("Executed " + metaData.numJobsExecuted() + " jobs.");    }    public static void main(String[] args) throws Exception {        JobStateExample example = new JobStateExample();        example.run();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -