- 18
- 0
- 约2.06万字
- 约 21页
- 2018-03-02 发布于浙江
- 举报
quartz技术总结
Quartz技术总结1.Hello Quartz1.1简介Quartz是一个由 James House 创立的完全由java编写的开源作业调度框架。作业调度通常是指运行一个批量的作业或称之谓批处理。这种批处理作业一般都是放在后台运行并且不需要与用户交互。把一系列任务自动安置到一个作业中,然后再为这个作业创建一个调度器,到时这个作业就会自动执行了。企业应用中的作业调度场景举例 : 邮件提醒和告警许多网站允许用户提供用户名和密码注册一个帐户。出于安全考虑,一个好的做法是让用户密码每隔一段时间过期失效,比如说90天的周期。这种情况下,你可以创建一个作业,让它每天午夜运行一次,并且向离过期时间不到三天的所有用户发邮件提醒。这里可以恰到好处的用到作业调度器。除了发过期的密码信息,网站还可以发送其他的告警或提醒。一个作业调度器还能够用在类似的其他方面。1.2下载安装官网地址:/下载地址:/downloads/导入jar包或添加maven依赖Quartz2.2.x的Maven依赖dependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion2.2.1/version/dependencydependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz-jobs/artifactIdversion2.2.1/version/dependency1.3配置文件pertiesQuartz 包括一个名为perties的配置文件,它允许你对 Quartz 的很多方面的配置。在 Quartz JAR 包中有一个默认的perties文件,但是假如你需要修改任何默认配置项时,你需要放置一个 perties 文件持贝在 classpath 下。配置和属性文件必须在应用中包含 perties。假如你是以散装(exploded format) 形式部署应用,你应该把 perties 文件放置在类加载器能够加载的目录中。(所谓的 “exploed” 形式指不打成一个 JAR、WAR、EAR 或者其他 Java 包,以独立文件存在于文件系统中) 例如,如果你有一个 classes 目录(比如一个 Web 应用的 WEB-INF/classes 目录),就可以把 perties 文件放在那儿。假如你以 Java 打包形式部署,应该放属性文件放在包的根下。在对待 quartz_job.xml 文件时也使用同样的规则。2.Quartz重要组成部分2.1 Job一个 Quart Job 就是一个为你执行一个任务的 Java 类。每一个 Quartz Job 必须有一个实现了org.quartz.Job接口的具体类。这个接口仅有一个要你在 Job 中实现的方法,execute(),方法execute()的原型如下:public void execute(JobExecutionContext context) throws JobExecutionException;你可以在 execute() 方法中执行你的业务逻辑。当 Quartz 调度器确定到时间要激发一个 Job 的时候,它就会生成一个 Job 实例,并调用这个实例的execute()方法。JobDetail的属性及其意义:jobName :Job名称jobGroup:Job所属组名jobClass:Job类volatility::Job的易失性,是指Job在程序关闭后是否会被持久化,Job 易失性的默认值是 falsedurability :持久性,是指一个持久的Job,当没有trigger指向它时,该Job是否会被移除掉,默认为false。requestsRecovery: 的可恢复性,是指当一个 Job 还在执行中,Scheduler 经历了一次非预期的关闭,在 Scheduler 重启之后可恢复的 Job 还会再次被执行。默认值为:false2.2 Scheduler调度器Scheduler 是 Quartz 的主要 API。对于 Quartz 用户来说,多数时候与框架的交互是发生于 Scheduler? 之上的。客服端与 Scheduler 交互是通过org.quartz.Scheduler接口的。这个 Scheduler 的实现,在这种情况下,是一个代理,对其中方法调用会传递到QuartzScheduler实例上。QuartzScheduler对于客户端是不可见的,并且也不存在与此实例的直接交互。客户端会同两种类型的 Scheduler 交互,分别是StdScheduler 和RemoteScheduler , 它们都实现了 org.quartz.Sch
原创力文档

文档评论(0)