您现在的位置是:主页 > news > 企业手机网站建设平台/百度地图官网2022最新版下载
企业手机网站建设平台/百度地图官网2022最新版下载
admin2025/6/8 2:35:49【news】
简介企业手机网站建设平台,百度地图官网2022最新版下载,河南建设信息网首页,wordpress 今日更新QUARTZ 1四大组成部分 Scheduler — 调度器,控制所有调度Trigger — 触发条件,采用DSL模式JobDetail — 需要处理的JOBJob — 执行逻辑 DSL:Domain-specific language,领域特定语言 针对一个特定的领域,具有受限表达性的一种计…
企业手机网站建设平台,百度地图官网2022最新版下载,河南建设信息网首页,wordpress 今日更新QUARTZ 1四大组成部分
Scheduler — 调度器,控制所有调度Trigger — 触发条件,采用DSL模式JobDetail — 需要处理的JOBJob — 执行逻辑
DSL:Domain-specific language,领域特定语言
针对一个特定的领域,具有受限表达性的一种计…
QUARTZ 1四大组成部分
- Scheduler — 调度器,控制所有调度
- Trigger — 触发条件,采用DSL模式
- JobDetail — 需要处理的JOB
- Job — 执行逻辑
DSL:Domain-specific language,领域特定语言
针对一个特定的领域,具有受限表达性的一种计算机程序语言,即领域专用语言,声明式编程:
- Method Chaining 方法链、Fluent Style 流畅风格、builder模式构建器
- Nested Functions 嵌套函数
- Lambda Expressions/Closures
- Functional Sequence
QUARTZ的使用 2
1.下载
下载地址:http://www.quartz-scheduler.org/
使用梯子点击这里传送到下载界面

2.下载之后解压

lib文件夹中是可以添加到工程的jar包
3.给需要使用的工程添加一个名称是lib的文件夹


4.将会用到的jar包复制到工程的lib文件夹中

5.构建jar包到工程路径
这一步不执行工程是不能正常使用包的
右键所有要使用的jar包,右键添加到路径即可成功:

拿到example1以及依赖的log4j日志文件进行运行测试

import java.util.Date; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;public class HelloJob implements Job {private static Logger _log = LoggerFactory.getLogger(HelloJob.class);public HelloJob() {}public void execute(JobExecutionContext context)throws JobExecutionException {// Say Hello to the World and display the date/time_log.info("Hello World! - " + new Date());}}
/** quartz学习示例*/
import static org.quartz.DateBuilder.evenMinuteDate;
import static org.quartz.DateBuilder.evenSecondDateAfterNow;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.util.Date;public class SimpleExample {public void run() throws Exception {Logger log = LoggerFactory.getLogger(SimpleExample.class);log.info("------- Initializing ----------------------");//1.创建cheduler工厂SchedulerFactory sf = new StdSchedulerFactory();//2.从工厂获取调度器Scheduler sched = sf.getScheduler();log.info("------- Initialization Complete -----------");// computer a time that is on the next round minute
// Date runTime = evenMinuteDate(new Date()); //一分钟后Date runTime = evenSecondDateAfterNow(); //一秒钟后/** evenMinuteDate是DateBuilder的静态方法*/log.info("------- Scheduling Job -------------------");//3.创建JobDetailJobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();//4.触发器Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();//5.注册任务和触发条件sched.scheduleJob(job, trigger);log.info(job.getKey() + " will run at: " + runTime);//6.启动sched.start();log.info("------- Started Scheduler -----------------");// wait long enough so that the scheduler as an opportunity to// run the job!log.info("------- Waiting 65 seconds... -------------");try {// wait 5 seconds to show jobThread.sleep(5L * 1000L);// executing...} catch (Exception e) {//}// shut down the schedulerlog.info("------- Shutting Down ---------------------");sched.shutdown(true);log.info("------- Shutdown Complete -----------------");}public static void main(String[] args) throws Exception {SimpleExample example = new SimpleExample();example.run();}}
//3.创建JobDetail
JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();
就是一个DSL流模式
//间隔执行:每五秒间隔执行一次,总共重复4次
Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).withSchedule(simpleSchedule().withIntervalInSeconds(5).withRepeatCount(4)).build();
对触发器更改,使得中重复执行
simpleSchedule是静态方法,要引包
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
至少得等待20秒,不然看不全结果
Thread.sleep(4*5L * 1000L);
更改后代码如下:
/** quartz学习示例*/
import static org.quartz.DateBuilder.evenMinuteDate;
import static org.quartz.DateBuilder.evenSecondDateAfterNow;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.util.Date;public class SimpleExample {public void run() throws Exception {Logger log = LoggerFactory.getLogger(SimpleExample.class);log.info("------- Initializing ----------------------");//1.创建cheduler工厂SchedulerFactory sf = new StdSchedulerFactory();//2.从工厂获取调度器Scheduler sched = sf.getScheduler();log.info("------- Initialization Complete -----------");// computer a time that is on the next round minute
// Date runTime = evenMinuteDate(new Date()); //一分钟后Date runTime = evenSecondDateAfterNow(); //一秒钟后/** evenMinuteDate是DateBuilder的静态方法*/log.info("------- Scheduling Job -------------------");//3.创建JobDetailJobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();//4.触发器//执行一次
// Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();//间隔执行:每五秒间隔执行一次,总共重复4次Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).withSchedule(simpleSchedule().withIntervalInSeconds(5).withRepeatCount(4)).build();//5.注册任务和触发条件sched.scheduleJob(job, trigger);log.info(job.getKey() + " will run at: " + runTime);//6.启动sched.start();log.info("------- Started Scheduler -----------------");// wait long enough so that the scheduler as an opportunity to// run the job!log.info("------- Waiting 65 seconds... -------------");try {// wait 4*5 seconds to show jobThread.sleep(4*5L * 1000L);// executing...} catch (Exception e) {//}// shut down the schedulerlog.info("------- Shutting Down ---------------------");sched.shutdown(true);log.info("------- Shutdown Complete -----------------");}public static void main(String[] args) throws Exception {SimpleExample example = new SimpleExample();example.run();}}
已集成到Spring中 ↩︎
可以参考IO_common的使用 128.common-io环境搭建 ↩︎