您的位置:首页 > 编程语言 > Java开发

Maven项目下的Spring Quartz简单集成

2017-06-21 18:36 465 查看
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();
}
}


到此结束、

————新手上路
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring quartz maven