Maven依赖
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
Quartz框架的四大核心对象
Scheduler – 核心调度器
Job – 任务
JobDetail – 任务描述
Trigger – 触发器
具体使用方法
第一步:创建Job类
创建一个java类,创建一个普通方法,作为任务处理方法
public class Job extends QuartzJobBean{
@Override
protected void executeInternal(JobExecutionContext context)
throws JobExecutionException {
System.out.println("开始任务");
ApplicationContext applicationContext = (ApplicationContext) context.getJobDetail().getJobDataMap()
.get("applicationContext");
System.out.println("结束任务");
}
第二步:将Job类配置JobDetail任务描述
<bean name="myJobDetail"
class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<!-- 指定具体的job类 -->
<property name="jobClass" value="com.job.Job" />
<!-- 指定job的名称 -->
<property name="name" value="myJob" />
<!-- 指定job的分组 -->
<property name="group" value="jobs" />
<!-- 必须设置为true,如果为false,当没有活动的触发器与之关联时会在调度器中删除该任务 -->
<property name="durability" value="true" />
<!-- 指定spring容器的key,如果不设定在job中的jobmap中是获取不到spring容器的 -->
<property name="applicationContextJobDataKey" value="applicationContext" />
</bean>
第三步:配置调度触发器
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean ">
<property name="jobDetail" ref="myJobDetail"></property>
<property name="cronExpression" value="0/5 * * * * ?"></property>
</bean>
<!-- 一个job可以有多个trigger,而一个trigger不能有多个job -->
<!-- <bean id="cronTrigger2"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="myJobDetail" />
<property name="cronExpression" value="0/8 * * * * ?(触发器表达式)" />
</bean> -->
触发器表达式的生成,可以下载quartz表达式生成器 自动生成 资源可到本人csdn资源站下载
第四步:配置调度工厂
<bean id="SpringJobSchedulerFactoryBean"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
<!--- <ref bean="cronTrigger2" /> ---->
</list>
</property>
</bean>
ok!!!结束!! 希望给各位猿友带来帮助吧!!! 偷偷告诉你们!!!这是我刚写的日记!!