Maven项目下的Spring Quartz简单集成

本文介绍如何在Spring框架中配置Quartz定时任务,包括依赖包的添加、配置文件的编写步骤,并提供了一个具体的定时任务类实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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(); 
    }   
} 

到此结束、
————新手上路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值