quartz spring配置

本文详细介绍了Spring框架下Quartz定时任务的配置方法,包括CronTriggerFactoryBean和SimpleTriggerFactoryBean的区别及使用场景,并通过实例展示了如何定义具体的定时任务、触发器和调度器。

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

CronTriggerFactoryBean:基于时间刻度,可以设置具体时间。类似与日历的定时方式

SimpleTriggerFactoryBean:基于调度间隔时间 ,有延时启动功能

定时器有三个要素:

1. job:具体需要定时执行的方法,需要具体到某一个类下的某一个具体方法。

2. trigger:触发器,一个触发器需要一个job来对应

3. schedule:调度器(可以调度多个trigger,经检验可以包括不同类的trigger,这句话是抄的没有验证过,应该是可行的,自己的项目中一个调度器实现了两个trigger,一个是完全由XML配置的,另一个是由JAVA代码实现的)

    <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="overwriteExistingJobs" value="true"/>
        <property name="triggers">
                <ref bean="SimpleTrigger"/>
        </property>
        <property name="autoStartup" value="true"></property>
    </bean>

    <!-- LbsMessageJob:定义目标bean和bean中的方法 -->
    <bean id="LbsMessageJob" class="com.wxjss.lbs.quartz.LbsMessageJob"/>

    <!-- 配置定时实现方法-->
    <bean id="LbsMessageJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject"> <!-- 实现的执行类-->
            <ref bean="LbsMessageJob"/>
        </property>
        <property name="targetMethod">  <!-- 要执行的方法名称 -->
            <value>execute</value>
        </property>
    </bean>

    <!-- 调度触发器 -->
    <bean id="SimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
        <property name="jobDetail" ref="LbsMessageJobMethod"></property>
        <property name="repeatInterval" >
            <value>2000</value> <!--设置任务重复时间-->
        </property>
        <property name="startDelay">  <!--延时开始-->
            <value>0</value>
        </property>
        <property name="repeatCount"> <!--默认0就是不重复,n重复N次,-1一直重复-->
            <value>-1</value>
        </property>
    </bean>
其中LbsMessageJob类中的方法是由java实现的:

public class LbsMessageJob  {

    public LbsMessageJob() {

    }

    public void execute() {
        System.err.println("hello! "); //经过XML配置以后每次定时结束都会跑过来执行这个方法
    }
}

上个结果图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值