quartz结合spring轻松实现任务调度

这几天项目要求做一个任务调度的,在规定的时间运行一次程序检查数据库。

研究决定使用quartz来实现,如果是一般的话,使用quartz要做一大堆的配置。但是现在我们有了spring,一切都更简单了。

1. 首先编写实现的类,这个类可以是独立不需要继承至quartz,类名为:com.ferly.web.task.SmsSendTask

2. 编写spring的配置文件如下:

<?xml version="1.0" encoding="GBK"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">



<beans>



<bean id="SmsSendTask" class="com.ferly.web.task.SmsSendTask"><!-- look,这个就是我们刚刚写的执行任务的类了 -->

</bean>

<!-- 其他的配置和正常的sping配置文件一个意思 -->

<bean id="SmsSendTaskDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<property name="targetObject"><ref bean="SmsSendTask"/></property>

<property name="targetMethod"><value>SmsSend</value></property>

</bean>

<bean id="SmsSendTaskScheduledTask" class="org.springframework.scheduling.quartz.CronTriggerBean">

<!-- start the task 0:0:0 every day-->

<!-- Seconds Minutes Hours Day-of-Month Month Day-of-Week -->

<property name="cronExpression">

<value>0 0 0 * * ?</value><!-- 这里指定运行的参数,现在指定是每天天的0点准时执行 -->

</property>

<property name="jobDetail">

<ref bean="SmsSendTaskDetail"/>

</property>

</bean>



<bean id="SmsSendTaskFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers">

<list><ref bean="SmsSendTaskScheduledTask"/></list>

</property>

</bean>



</beans>



3。完工。

简单吧,让我们对spring敬礼,并说:“spring,我爱你,真的!”。



4. 补充,如果你使用的不是固定时间执行,而是隔几分钟或者几小时执行的话,就会有一点修改的地方:

<bean id="SmsSendTaskScheduledTask" class="org.springframework.scheduling.quartz.CronTriggerBean">这之间的内容改为:



<bean id="SmsSendTaskScheduledTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">

<property name="startDelay">

<value>60000</value><!-- 服务启动一分钟后执行 -->

</property>

<property name="repeatInterval">

<value>6000</value><!-- 每隔1分钟执行一次 -->

</property>

<property name="jobDetail">

<ref bean="SmsSendTaskDetail"/>

</property>

</bean>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值