1.定义Jop类
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.err.println("job 执行"+new Date());
}
}
2.编写配置文件
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
spring 整合 quartz 的步骤
1.定义工作任务的job
-->
<!-- 定义任务bean 这里使用JobDetailFactoryBean -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<!-- 定义指定job的名称 -->
<property name="name" value="job1"/>
<!-- 定义指定job所在的分组 -->
<property name="group" value="job_group1"/>
<!-- 指定job所在的类 -->
<property name="jobClass" value="com.dl.code.job.MyJob"/>
</bean>
<!-- 定义触发器 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- 指定触发器的名称 -->
<property name="name" value="trigger1"/>
<!-- 指定触发器所在的分组 -->
<property name="group" value="trigger_group1"/>
<!-- 触发器绑定任务 -->
<property name="jobDetail" ref="jobDetail"/>
<!-- 指定Cron表达式,当前是每个2秒运行一次 -->
<property name="cronExpression" value="*/2 * * * * ?"/>
</bean>
<!-- 定义调度器 并将触发器添加到调度器中-->
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<set>
<ref bean="cronTrigger"/>
</set>
</property>
<!-- 引入quartz的配置文件 -->
<property name="configLocation" value="classpath:quartz.properties"/>
</bean>
</beans>
3.编写properties配置文件
# 指定调度器名称,实际类型为:QuartzScheduler
org.quartz.scheduler.instanceName = scheduler
# 指定连接池
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
# 连接池线程数量
org.quartz.threadPool.threadCount = 11
# 优先级
org.quartz.threadPool.threadPriority = 5
# 不持久化job
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
4.编写测试代码
public class TestQuartz {
public static void main(String[] args) {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");
}
}
5.导入依赖(这个应该是放在第一步的)
<!-- 导入依赖 -->
<dependencies>
<!-- 导入定时任务的依赖 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
</dependencies>