5分钟带你入门Quartz 与 Spring 整合

本文介绍如何使用Quartz实现定时任务。通过实例演示了创建定时执行的方法、配置Spring Quartz XML及整合到Web应用的过程。

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

定时任务一般分为两种:

1.每隔指定时间则触发一次,在Quartz中对应的触发器为:org.springframework.scheduling.quartz.SimpleTriggerBean
2.每到指定时间则触发一次,在Quartz中对应的调度器为:org.springframework.scheduling.quartz.CronTriggerBea

算了不讲这些没用的概念了,直接上代码。你敲一遍就会了,遇到报错的你也就理解原理了。

写一个你需要定时执行的方法

例如:

package com.quartz.service;

public class EarnMoney {

    private int num=0;

    public void earn(){
        System.out.println("我赚了"+(num++)+"万块钱");
    }
}

3.写spring-quartz.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"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    <!--  service bean-->
    <bean id = "addService" class="com.quartz.service.EarnMoney">
    </bean>

    <!--  任务 bean-->
    <bean id="myjob" class="org.springframework.scheduling.quartz.JobDetailBean">
        <!--指定任务类  -->
        <property name="jobClass" value="com.quartz.test.TestQuartz"></property>
        <!--为任务bean注入属性  -->
        <property name="jobDataMap">
            <map>
                <entry key="add" value-ref="addService"></entry>
            </map>
        </property>
    </bean>

    <!-- 任务触发器  -->
    <bean id="myTriggers" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="myjob"></property>
        <property name="cronExpression" value="0/2 * * * * ?"></property>
    </bean>

    <!--  任务调度工厂-->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="myTriggers"/>
            </list>
        </property>
    </bean>
</beans>

4.把spring-quartz.xml放到web.xml中执行

  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-quartz.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

5.最后你就运行服务器就是定时启动你的方法了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值