Spring & Quartz 定时任务的两种使用方式

本文介绍使用Spring框架集成Quartz实现定时任务的两种配置方法。第一种方法通过继承QuartzJobBean并配置JobDetail和Trigger;第二种方法通过普通Java类定义执行方法并使用MethodInvokingJobDetailFactoryBean进行配置。

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

参考文档:

https://docs.spring.io/spring-framework/docs/4.3.13.RELEASE/spring-framework-reference/pdf/spring-framework-reference.pdf


Quartz uses Trigger, Job and JobDetail objects to realize scheduling of all kinds of jobs.

定义job有两种方式、定义jobdetail有两种方式、定义trigger有两种方式。。。

一、方式一

1、定义TestJob类继承QuartzJobBean

2、spring中配置JobDetail

<bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
    <property name="jobClass" value="com.cbh.task.TestJob"/>
    <property name="durability" value="true"/>
</bean>

3、spring中配置Trigger

a、

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
    <property name="jobDetail" ref="jobDetail"/>
    <property name="startDelay" value="3000"/>
    <property name="repeatInterval" value="1000"/>

</bean>

b、

<bean id="testJob2Trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="testJob2Detail"/>
    <property name="cronExpression" value="0/1 * * * * ?"/>
</bean>

4、spring中配置Scheduler

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="simpleTrigger"/>
            <ref bean="testJob2Trigger"/>
        </list>
    </property>
</bean>

二、方式二

1、定义TestJob2类(普通Java类)并定义一个具体要执行的方法

2、spring中配置JobDetail

<bean id="testJob2" class="com.cbh.task.TestJob2"/>
<bean id="testJob2Detail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="testJob2"/>
    <property name="targetMethod" value="job"/>
</bean>

3、spring中配置Trigger

a、

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
    <property name="jobDetail" ref="jobDetail"/>
    <property name="startDelay" value="3000"/>
    <property name="repeatInterval" value="1000"/>

</bean>

b、

<bean id="testJob2Trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="testJob2Detail"/>
    <property name="cronExpression" value="0/1 * * * * ?"/>
</bean>

4、spring中配置Scheduler

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="simpleTrigger"/>
            <ref bean="testJob2Trigger"/>
        </list>
    </property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值