quartz整合spring 相关配置及使用

本文介绍如何使用 Spring 框架集成 Quartz 实现定时任务。通过 applicationContext.xml 配置文件设置定时任务的触发器及执行间隔,并展示 JobFactory 和具体任务执行类 PromotionJob 的实现。

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


applicationContext.xml


<bean id="promotionJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="注入类的全类名"/>
</bean>

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
<property name="jobDetail" ref="promotionJob"/>
<property name="startDelay" value="0"/>-----------立即执行
<property name="repeatInterval" value="60000"/>-----------一分钟执行一次

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


import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.scheduling.quartz.AdaptableJobFactory;
import org.springframework.stereotype.Service;


@Service("jobFactory")
public class JobFactory extends AdaptableJobFactory {


@Autowired
private AutowireCapableBeanFactory capableBeanFactory;


@Override
protected Object createJobInstance(TriggerFiredBundle bundle)
throws Exception {
Object jobInstance = super.createJobInstance(bundle);
capableBeanFactory.autowireBean(jobInstance);
return jobInstance;
}


}

public class PromotionJob implements Job{


@Autowired
private PromotionService promotionService;

@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// TODO Auto-generated method stub

System.out.println("定时任务执行");
promotionService.update(new Date());

}


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值