1.首先要把需要的包加载上,在pom文件中加上
<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.1</version>
</dependency>
2.在spring配置文件中的配置代码
<!-- 定时器配置 -->
<!-- 配置方法映射工厂类 -->
<!-- 工作的bean -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<!-- 你的任务定时类,在这里面写你的需要定时执行的任务 -->
<property name="jobClass" value="com.Quartz.ExtendsJobController"/>
<property name="durability" value="true"></property>
<!-- 在queay中的任务定时类中要使用的类需要在这里引入 标记 -->
<property name="jobDataAsMap">
<map>
<!-- 我项目的@service标签加在接口实现类中所以地址也是接口实现类 -->
<entry key="service">
<ref bean="serviceImpl"/>
</entry>
</map>
</property>
</bean>
<!-- 使用CronTriggerFactoryBean类配置,这个方法的好处在于可以使用cronExpression表达式。 -->
<bean id="billsCheckJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="jobDetail"/>
<!-- 配置任务的的时间/周期 -->
<property name="cronExpression" value="0 0 0 * * ?"/>
<property name="startDelay" value="3000"></property>
</bean>
<!-- 配置SchedulerFactoryBean类,调用时间触发 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="jobDetail" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="billsCheckJobTrigger" />
</list>
</property>
</bean>
3.你需要定时执行的任务类
package com.Quartz;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;
import com.dz.business.account.service.MjbAccountService;
public class ExtendsJobController extends QuartzJobBean{
//你在这儿引用的类都需要在刚才的标记处引入
@Autowired
Service service;
public void query(){
service.queryBalance();
}
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
service = (Service) context.getJobDetail()
.getJobDataMap().get("service");
query();
}
}
到此结束、
————新手上路