前言
工作中使用到了quartz来做一些定时任务,做下笔记
- 导包
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
- 新建任务
实现Job,重写execute()方法在里面写一些业务逻辑的代码。
package com.yjp.job;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @ClassName: MyJob
* @Description: TODO
* @author: yjp
* @date: 2020/4/9
*/
public class MyJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(MyJob.class);
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
//doSomething();
}
}
- 定时执行
<!--任务,即被调度的任务-->
<bean name="jobBean1" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="name" value="yjp_job"/>
<property name="group" value="yjp_group"/>
<property name="jobClass" value="com.yjp.job.MyJob"/>
<property name="durability" value="true"/>
<property name="applicationContextJobDataKey" value="applicationContext"/>
</bean>
<!--触发器,用于定义任务调度时间规则 我这里是设置的每周一早上九点执行一次-->
<bean id="trigger1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="name" value="yjp_trigger"/>
<property name="group" value="yjp_trigger_group"/>
<property name="jobDetail" ref="jobBean1"/>
<!--<property name="cronExpression" value="0 */1 * * * ?" />-->
<property name="cronExpression" value="0 00 9 ? * MON"/>
</bean>
<!--任务调度器-->
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="trigger1"/>
</list>
</property>
</bean>
这样就行了,是不是很简单。
后记
day day up