参考文档:https://blog.csdn.net/qq_33678647/article/details/81285908
1.添加jar包(2个)
<!-- 定时器jar -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.2</version>
</dependency>
2.编写quartz配置文件
application-quartz.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>任务调度配置<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -->
<!-- 实例化bean -->
<bean id="demo" class="com.quartz.CmcatQuartz" /> <!-- 定时任务要执行的类 -->
<!-- 配置MethodInvokingJobDetailFactoryBean -->
<bean id="testTaskMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="demo" />
<property name="targetMethod" value="sayHello" /> <!-- 定时任务要执行的方法 -->
<property name="concurrent" value="false" /><!-- 设置为false时,定时任务 job结束,才会执行下一个定时任务; -->
</bean>
<!-- ============= 调度触发器 ============= -->
<bean id="articleBatchRunTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="testTaskMethod" />
<!-- <property name="cronExpression" value="0 55 11 * * ?" /> --> <!-- 每天 11:55 执行一次 -->
<!-- <property name="cronExpression" value="0 0/1 * * * ?" /> --><!-- 每隔1分钟执行一次 -->
<property name="cronExpression" value="0/5 * * * * ?" /> <!-- 每5秒执行一次 -->
</bean>
<!--其他执行执行规则可以自行查找-->
<!-- ============= 调度工厂 ============= -->
<bean id="schedulerBean"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
lazy-init="false">
<property name="triggers">
<list>
<ref bean="articleBatchRunTrigger" />
</list>
</property>
</bean>
</beans>
3.将配置文件加载在web.xml中
web.xml中加上如下配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring/ApplicationContext-main.xml,
classpath:spring/ApplicationContext-code.xml
classpath:application-quartz.xml
</param-value>
</context-param>
4.编写定时任务类
CmcatQuartz.java
package com.quartz;
import java.util.Date;
public class CmcatQuartz {
public void execute() throws Exception {
System.out.println("定时demo:"+new Date() );
}
public void sayHello() throws Exception {
System.out.println("sayHello:"+new Date() );
}
}