(一)Quartz单机

1.Quartz简介

  Quartz是一个完全由java编写的开源作业调度框架,能实现业务的定时调度。Quartz主要有三个核心调度器、任务和触发器:

①任务-JobDetail:Quartz在任务调度的时候,需要创建一个任务实例,JobDetail正是承担这个角色。在Quartz2.0以前的版本中,创建一个任务通过new JobDetail(String jobName, String gruop, Class jobCLass)这个方法来创建,在2.0之后的版本中通过JobBuilder来创建任务。Job接口中只有一个方法void execute(JobExecutionContext context) throws JobExecutionException,因此在任务调度时,只需要实现execute方法就可以了,使用起来很方便。

②触发器-Trigger:定义Job的执行时间、次数等信息,有SimpleTrigger和CronTrigger两种类型。当你需要的是一次性的调度,或者你需要在指定的时间激活某个任务并执行N次,设置每次任务执行的间隔时间T。那此时使用SimpleTrigger将是非常方便的。如果你想在每周的周一7:00或者每月的第2,3天实现任务调度,这时候就需要用到CronTrigger,CronTrigger能够提供复杂的触发器表达式满足我们的需求。同时需要提到的一点是Quartz还提供很多日期的实现类DateBuilder等,在实际使用中很方便。

③调度器-Scheduler:Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的架构。启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。这就是Quartz怎样能并发运行多个作业的原理。Quartz依赖一套松耦合的线程池管理部件来管理线程环境。

2.搭建Quartz工程

①创建一个新工程

  新建文件lib作为外部jar包,Quartz最新版本通过官网可以下载http://www.quartz-scheduler.org/downloads/导入你下载的quartz包,新建package为com.example.singleQuartz,里面就两个简单的类SingleQuartzJob和SingleQuartzServer。SingleQuartzJob定义Job的实现类,SingleQuartzServer任务调度服务。

大数据培训,云培训,数据挖掘培训,云计算培训,高端软件开发培训,项目经理培训

②SingleQuartzJob.java定义

网友评论