优酷专门给马天宇做的网站,做网站跟app的区别,域名就是网站名吗,嘉兴提高网站排名Quartz是一个开源作业调度框架。 它可用于管理和计划应用程序中的作业。 步骤1#xff1a;建立已完成的专案 创建一个Maven项目#xff0c;如下所示。 #xff08;可以使用Maven或IDE插件来创建它#xff09;。 步骤2#xff1a;图书馆 Quartz依赖项已添加到Maven的po… Quartz是一个开源作业调度框架。 它可用于管理和计划应用程序中的作业。 步骤1建立已完成的专案 创建一个Maven项目如下所示。 可以使用Maven或IDE插件来创建它。 步骤2图书馆 Quartz依赖项已添加到Maven的pom.xml中。 这些依赖库将由Maven Central Repository下载。 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdOTV_Quartz/groupIdartifactIdOTV_Quartz/artifactIdversion0.0.1-SNAPSHOT/versiondependencies!-- Quartz library --dependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion2.0.2/version/dependency !-- Log4j library --dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.16/version/dependency /dependencies/project步骤3建立新工作 通过实现如下所示的Quartz Job接口创建一个新的Job。 TestJob类指定将要安排的业务逻辑。 package com.otv.job;import org.apache.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;public class TestJob implements Job {private Logger log Logger.getLogger(TestJob.class);public void execute(JobExecutionContext jExeCtx) throws JobExecutionException {log.debug(TestJob run successfully...);}}步骤4将工作与工作细节对象关联 创建的TestJob类与JobDetail对象链接。 JobDetail job JobBuilder.newJob(TestJob.class).withIdentity(testJob).build();第5步创建新触发器 如下创建一个新的触发器。 触发器类别指定将要计划的作业的运行周期。 石英触发器有两种 触发器 指定作业的开始时间结束时间运行时间。 CronTrigger 根据Unix cron表达式指定作业的开始时间结束时间运行时间。 //Trigger the job to run on the next round minute
Trigger trigger TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(30).repeatForever()).build();// CronTrigger the job to run on the every 20 seconds
CronTrigger cronTrigger TriggerBuilder.newTrigger().withIdentity(crontrigger,crontriggergroup1).withSchedule(CronScheduleBuilder.cronSchedule(10 * * * * ?)).build();步骤6建立SchedulerFactory 创建一个新的SchedulerFactory并从SchedulerFactory类获取一个Scheduler对象。 SchedulerFactory schFactory new StdSchedulerFactory();
Scheduler sch schFactory.getScheduler();步骤7启动排程器 调度程序对象已启动。 // Start the schedule
sch.start();步骤8安排工作 已安排TestJob // Tell quartz to schedule the job using the trigger
sch.scheduleJob(job, trigger);步骤9完整示例 TestJob将每分钟运行两次。 package com.otv;import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;import com.otv.job.TestJob;/**
* author onlinetechvision.com
* since 17 Sept 2011
* version 1.0.0
*
*/
public class JobScheduler {public static void main(String[] args) {try {// specify the job s details..JobDetail job JobBuilder.newJob(TestJob.class).withIdentity(testJob).build();// specify the running period of the jobTrigger trigger TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(30).repeatForever()).build();//schedule the jobSchedulerFactory schFactory new StdSchedulerFactory();Scheduler sch schFactory.getScheduler();sch.start();sch.scheduleJob(job, trigger);} catch (SchedulerException e) {e.printStackTrace();}}}步骤10输出 运行JobScheduler Class时输出将如下所示 17.09.2011 23:39:37 DEBUG (TestJob.java:13) - TestJob run successfully...
17.09.2011 23:40:07 DEBUG (TestJob.java:13) - TestJob run successfully...
17.09.2011 23:40:37 DEBUG (TestJob.java:13) - TestJob run successfully...
17.09.2011 23:41:07 DEBUG (TestJob.java:13) - TestJob run successfully...步骤11下载 OTV_Quartz_Project 参考 在线技术愿景博客上的JCG合作伙伴 Eren Avsarogullari的Quartz 2 Scheduler 。 翻译自: https://www.javacodegeeks.com/2012/07/quartz-2-scheduler-example.html