`
jeasony
  • 浏览: 196335 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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

阅读更多

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

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

XML/HTML代码
  1. <?xml version="1.0" encoding="GBK"?>  
  2.   
  3. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  4.   
  5.   
  6.   
  7. <beans>  
  8.   
  9.   
  10.   
  11. <bean id="SmsSendTask" class="com.ferly.web.task.SmsSendTask"><!-- look,这个就是我们刚刚写的执行任务的类了 -->  
  12.   
  13. </bean>  
  14.   
  15. <!-- 其他的配置和正常的sping配置文件一个意思 -->  
  16.   
  17. <bean id="SmsSendTaskDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
  18.   
  19. <property name="targetObject"><ref bean="SmsSendTask"/></property>  
  20.   
  21. <property name="targetMethod"><value>SmsSend</value></property>  
  22.   
  23. </bean>  
  24.   
  25. <bean id="SmsSendTaskScheduledTask" class="org.springframework.scheduling.quartz.CronTriggerBean">  
  26.   
  27. <!-- start the task 0:0:0 every day-->  
  28.   
  29. <!-- Seconds Minutes Hours Day-of-Month Month Day-of-Week -->  
  30.   
  31. <property name="cronExpression">  
  32.   
  33. <value>0 0 0 * * ?</value><!-- 这里指定运行的参数,现在指定是每天天的0点准时执行 -->  
  34.   
  35. </property>  
  36.   
  37. <property name="jobDetail">  
  38.   
  39. <ref bean="SmsSendTaskDetail"/>  
  40.   
  41. </property>  
  42.   
  43. </bean>  
  44. <bean id="SmsSendTaskFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
  45.   
  46. <property name="triggers">  
  47.   
  48. <list><ref bean="SmsSendTaskScheduledTask"/></list>  
  49.   
  50. </property>  
  51.   
  52. </bean>  
  53.   
  54. </beans>  

3。完工。

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


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

 

XML/HTML代码
  1. <bean id="SmsSendTaskScheduledTask" class="org.springframework.scheduling.quartz.CronTriggerBean">这之间的内容改为:   
  2.   
  3.   
  4.   
  5. <bean id="SmsSendTaskScheduledTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  
  6.   
  7. <property name="startDelay">  
  8.   
  9. <value>60000</value><!-- 服务启动一分钟后执行 -->  
  10.   
  11. </property>  
  12.   
  13. <property name="repeatInterval">  
  14.   
  15. <value>6000</value><!-- 每隔1分钟执行一次 -->  
  16.   
  17. </property>  
  18.   
  19. <property name="jobDetail">  
  20.   
  21. <ref bean="SmsSendTaskDetail"/>  
  22.   
  23. </property>  
  24.   
  25. </bean>  
  26.   

评论

相关推荐

Global site tag (gtag.js) - Google Analytics