1.引入相关依赖
<!-- 引入quartz对应的依赖 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>${quartz.version}</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>${quartz-scheduler.version}</version>
</dependency>
2.创建任务类
package com.jujung.frms.bill.timer;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 自定义作业类
*/
public class BillTimer {
//自定义一个任务调度要执行的方法
public void run(){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startTime = format.format(new Date());
System.out.println(startTime+"账单调度任务开始执行");
}
}
3.在spring的context中配置自定义的任务类,新建一个quartzContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
<!--注册自定义作业类-->
<bean id="billTimer" class="com.jujung.frms.bill.timer.BillTimer"></bean>
<!--=============================================================================-->
<!--配置jobDetail,指定任务方法-->
<bean id="jobDetailRun" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!--注入job实例-->
<property name="targetObject" ref="billTimer"></property>
<!--job实例中要执行的方法-->
<property name="targetMethod" value="run"></property>
</bean>
<!--配置job触发器,指定任务执行规则-->
<bean id="billTriggerRun" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!--注入任务详情-->
<property name="jobDetail" ref="jobDetailRun"></property>
<!--定义执行规则-->
<property name="cronExpression">
<value>0/30 * * * * ?</value>
</property>
</bean>
<!--配置jobDetail,指定任务方法-->
<bean id="jobDetailRing" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!--注入job实例-->
<property name="targetObject" ref="billTimer"></property>
<!--job实例中要执行的方法-->
<property name="targetMethod" value="ring"></property>
</bean>
<!--配置job触发器,指定任务执行规则-->
<bean id="billTriggerRing" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!--注入任务详情-->
<property name="jobDetail" ref="jobDetailRing"></property>
<!--定义执行规则-->
<property name="cronExpression">
<value>0/50 * * * * ?</value>
</property>
</bean>
<!--===============================================================================-->
<!--配置调度工厂 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!--所有触发器最后都要植入调度工厂-->
<ref bean="billTriggerRun"></ref>
<ref bean="billTriggerRing"></ref>
</list>
</property>
</bean>
</beans>
4.启动服务器,在加载spring工厂之后任务调度会自动执行