`
jeasony
  • 浏览: 200625 次
  • 性别: 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.   

评论

相关推荐

    Spring+Quartz实现任务调度的小例子

    综上所述,Spring与Quartz的结合使用能够轻松实现复杂的时间驱动任务调度。通过Spring的配置和依赖注入,可以将任务的定义与执行解耦,使得任务调度更加灵活和易于维护。在这个小例子中,我们看到了如何定义一个简单...

    spring任务调度(Quartz )

    Spring中的任务调度是实现应用程序自动化运行任务的重要工具,而Quartz是Java领域广泛使用的开源任务调度框架。在本文中,我们将深入探讨如何在Spring中集成Quartz进行任务调度,并通过一个简单的示例来理解其工作...

    Spring整合任务调度框架Quartz

    在本文中,我们将详细介绍如何将 Spring 整合任务调度框架 Quartz,从而实现任务调度的自动化。 一、使用配置文件方式整合 Quartz 在 Spring 中,可以使用配置文件方式来整合 Quartz。这种方式非常简单,开发者只...

    spring 任务调度

    - **Quartz简介**:Quartz是一个开源的作业调度框架,支持复杂的调度策略,如按日期、时间间隔或CRON表达式调度任务。 - **Spring与Quartz集成**:Spring通过`org.springframework.scheduling.quartz`包提供了一种...

    quartz整合springbatch动态集群定时实现mysql参考

    在这个“quartz_springbatch_dynamic”项目中,我们将看到如何将这两个强大的工具结合起来,以实现动态集群环境中的定时任务执行,并使用MySQL作为数据存储。 Quartz是一个开源的作业调度框架,允许开发者创建、...

    Spring实现任务调度

    Spring框架提供了强大的任务调度能力,使得开发者能够轻松地在Java环境中实现这一功能。本篇将深入探讨如何利用Spring进行任务调度,并结合代码演示和Quartz库的使用来丰富这一主题。 首先,Spring提供了两种主要的...

    spring+quartz任务调度代码版

    本项目"spring+quartz任务调度代码版"显然是一个结合了这两者的实践案例,旨在展示如何在Spring环境下集成和使用Quartz进行任务调度。 Spring框架是一个开源的应用框架,它提供了丰富的功能,包括依赖注入、AOP...

    Spring实现任务调度.rar

    Spring框架提供了强大的任务调度能力,使得开发者能够轻松地集成和管理定时任务。本资料“Spring实现任务调度”将深入探讨如何在Spring中设置和管理定时任务。 首先,我们需要理解Spring中的任务调度机制。Spring...

    Spring quartz 定时任务调度

    Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...

    SpringBoot 整合Quartz(集群)实现定时任务调度

    SpringBoot整合Quartz实现定时任务调度是...总之,SpringBoot结合Quartz可以轻松实现定时任务调度。在集群环境中,通过配置和Quartz的内置机制,我们可以实现任务的分布式执行和故障恢复,提高系统的稳定性和可靠性。

    spring整合quartz定时任务调度

    Spring框架作为Java领域广泛使用的轻量级框架,提供了与第三方库Quartz的整合,使得开发者能够轻松地在Spring应用中实现复杂的定时任务调度。Quartz是一款开源的作业调度框架,支持丰富的调度策略,可以满足各种定时...

    Spring Quartz 任务调度实例

    Spring Quartz 是一个强大的任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。结合Spring框架,可以方便地在企业级应用中实现复杂的时间触发逻辑。本实例提供了可以直接运行的任务调度解决方案,既...

    spring quartz 任务调度

    总的来说,Spring与Quartz的结合使用为开发者提供了强大且灵活的任务调度能力。你可以根据需求设置不同的触发策略,比如按时间间隔执行、按照特定日期执行等。此外,由于Spring的容器特性,我们可以方便地管理Job的...

    quartz+spring分布式集群调度

    读者可以从中学习如何创建Spring Bean、配置Quartz调度器,以及如何将两者结合实现任务调度。 七、最佳实践 1. **资源隔离**: 在多线程环境下,考虑为每个Job分配独立的线程池,避免资源争抢。 2. **异常处理**: ...

    spring集成quartz 任务调度

    Quartz与Spring的结合,使得我们可以充分利用Spring的依赖注入(DI)和AOP特性,简化了任务调度的复杂性。 首先,Quartz是开源的作业调度库,它可以用来创建、调度和执行计划任务。它支持简单的定时任务以及复杂的...

    Quartz+spring定时任务demo

    Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中实现复杂的时间调度任务。它允许开发者定义定时任务并将其与应用程序的业务逻辑相结合,实现自动化执行。Spring 框架则是一个广泛使用的 Java 应用开发框架...

    spring之定时任务实现(spring-task和quartz等不同方式)

    Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...

    Spingboot+Quartz基于数据库的作业任务调度

    Spring Boot和Quartz是两个流行的Java技术,它们可以协同工作,实现高效且可扩展的作业任务调度。下面我们将深入探讨这两个组件以及如何结合使用它们来基于数据库进行任务管理。 首先,Spring Boot是Spring框架的一...

    spring的三种任务调度实现方式lib

    虽然Spring Batch不直接提供定时任务调度,但它可以与Spring的`TaskScheduler`或Quartz结合使用来实现定时启动批处理作业。Spring Batch支持多种类型的读写器和处理器,适用于大量数据的导入导出、数据库更新等场景...

    quartz 定时任务调度

    Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中实现复杂的时间调度任务。它允许开发者定义定时任务,这些任务会在指定的时间点自动执行。Quartz 提供了一套丰富的 API 和支持,可以方便地与 Spring 框架...

Global site tag (gtag.js) - Google Analytics