您现在的位置是:主页 > news > 企业手机网站建设平台/百度地图官网2022最新版下载

企业手机网站建设平台/百度地图官网2022最新版下载

admin2025/6/8 2:35:49news

简介企业手机网站建设平台,百度地图官网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四大组成部分

  1. Scheduler — 调度器,控制所有调度
  2. Trigger — 触发条件,采用DSL模式
  3. JobDetail — 需要处理的JOB
  4. Job — 执行逻辑

DSL:Domain-specific language,领域特定语言

针对一个特定的领域,具有受限表达性的一种计算机程序语言,即领域专用语言,声明式编程:

  1. Method Chaining 方法链、Fluent Style 流畅风格、builder模式构建器
  2. Nested Functions 嵌套函数
  3. Lambda Expressions/Closures
  4. 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();}}

  1. 已集成到Spring中 ↩︎

  2. 可以参考IO_common的使用 128.common-io环境搭建 ↩︎