`

转spring&quartz整合

    博客分类:
  • OPEN
阅读更多
研究spring不深,但最近在使用spring的过程中,发现它总能给人带来点惊喜。
相信大家在做程序的时候应该会碰到时序调度一类的问题,即希望在指定时刻执行某段程序,在spring之前我的第一反应便是在数据库中加job。然而现在,Spring提供了支持时序调度的整合类Quartz,它把复杂的事情完全简单化了,在此我不想再赘叙关于spring中如何去整合Quartz,具体的spring详细配置请参照http://www.jactiongroup.net/reference/html/scheduling.html。使用过程很简单,
关于Quartz的说明参照官网的一段描述
What is Quartz?
Quartz is a full-featured, open source job scheduling system that can be integrated with, or used along side virtually any J2EE or J2SE application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components or EJBs. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.
您也可以参考以下链接进行更深入的了解http://www.opensymphony.com/quartz

在使用的过程中,需要再对cronExpression的配置解释一下,如果没有使用过unix的cron,这里确实有点让人迷惑,我便在这里迷惑了一把。
Cron表达式是字符串,它由六个或七个子表达式组成,它描述了不同的调度细节。这些子表达式被白色表达式隔开,格式为* * * * * *
以下的表格对表达式做出了解释
域          是否必须 允许的值       允许的字符
Seconds      YES       0-59                   , - * /
Minutes      YES       0-59                   , - * /
Hours        YES       0-23                    , - * /
Day of month YES       1-31              , - * ? / L W C
Month        YES       1-12 or JAN-DEC, - * /
Day of week  YES   1-7 or SUN-SAT , - * ? / L C #
Year         NO         empty,1970-2099,   - * /

比如:字符串“0 0 12 ? * WEB 意味着每周三上午12:00。
特殊字符的一些说明:
* 表示的是所有的值,比如在秒的位置上有* 则表示为每一秒种。所以,你在表示每5分钟执行一次的时候便不能写成 * 0/5 * * * ? 而应该是0 0/5 * * * ?
? 表示没有指定特别的值,是允许为月的某一天或者周的某一天字段的。它被用来限定"没有限定值"。这是有用的,当你需要限定一些事情在一个或两个字段中,但不是这里的。
有一个特别需要主意的地方便是*与?的搭配使用。比如在Day of month与Day of week全是* ,那边自相矛盾了。官网中给出的例子没出现过这种情况。
- 表示范围,比如Hours域中10-12,则表示 "the hours 10, 11 and 12".
,表示指定特别的附加值,比如"MON,WED,FRI" 在 day of week 域表示"the days Monday, Wednesday, and Friday"
/ 表示指定的增长范围。比如"0/15" 在秒的区域表示"0, 15, 30, and 45"秒。

"L"字符是允许用来月某天和周某天字段。这个字符是一个"last"的缩写,但是它有不同的意义在两个字段的其中之一。例如,这个值"L"在月字段的某一天意味着" 这个月的最后一天",31或者28等等。


分享到:
评论

相关推荐

    spring和quartz整合示例

    所需jar如下: spring-beans-3.2.4.RELEASE.jar spring-core-3.2.4.RELEASE.jar spring-expression-3.2.4.RELEASE....quartz-all-2.1.7.jar spring-tx-3.2.4.RELEASE.jar slf4j-log4j12-1.6.1.jar slf4j-api-1.6.1.jar

    Java_Spring与Quartz的整合

    Java Spring 框架是...同时,提供的压缩包文件中并没有包含具体代码示例,若需具体示例,可以参考开源项目或相关教程,如`MavenSpirngmvcMybatis-master`可能是一个包含Spring MVC、MyBatis和Quartz整合的示例项目。

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

    Quartz和Spring Batch是两种非常重要的Java开源框架,它们在企业级应用开发中扮演着重要角色。Quartz主要用于任务调度,而Spring Batch则专注于批量处理。在这个“quartz_springbatch_dynamic”项目中,我们将看到...

    spring整合quartz的简单成功案例

    Spring整合Quartz是一个常见的任务调度解决方案,用于在Java应用程序中执行定时任务。Quartz是一个功能丰富的开源作业调度框架,而Spring则是一个强大的企业级应用开发框架。将两者结合,可以方便地在Spring管理的...

    spring2与quartz在Web整合

    3. **整合过程**:整合 Spring 2 和 Quartz 需要在 Spring 配置文件中声明 Job 和 Trigger 的 Bean,并指定它们的关联。Spring 可以通过其自身的 JobFactory 来创建 Job 实例,使得 Job 可以利用 Spring 的 DI 功能...

    spring+quartz demo

    【Spring + Quartz 框架整合详解】 Spring 和 Quartz 是两个在 Java 开发领域中非常重要的框架。Spring 是一个全面的、开源的应用框架,提供依赖注入(DI)、面向切面编程(AOP)以及用于简化企业级应用开发的其他...

    spring和quartz整合相关的jar包

    整合 Spring 和 Quartz 可以充分利用 Spring 的优点,如通过 Spring 的配置来管理和实例化 Job,以及利用 Spring 的事务管理功能。这样,我们可以将任务调度与业务逻辑解耦,使代码更加模块化和易于维护。 在整合...

    spring整合quartz文档

    Spring 整合 Quartz 是一种常见的任务调度解决方案,用于在应用程序中安排和执行周期性的任务。Quartz 是一个功能丰富的开源任务调度库,适用于 Java 平台,尤其适用于 J2EE 和 J2SE 应用。它允许开发人员精确地定义...

    spring quartz 整合示例

    以上就是基于给定文件的Spring与Quartz整合的主要知识点。通过这些组件和配置,开发者能够构建出一个健壮的、可扩展的任务调度系统。在实际项目中,根据需求,还可以进行更复杂的任务调度策略设置,如并发控制、集群...

    spring整合quartz定时任务调度

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

    spring3整合quartz1.8和spring3整合quartz2.2两个版本示例

    本示例将探讨如何将 Spring 3 与 Quartz 1.8 和 2.2 版本进行整合,以实现高效的任务调度。 首先,我们来看 Spring 3 整合 Quartz 1.8 的步骤: 1. **引入依赖**:在项目中添加 Quartz 和 Spring 相关的库,确保...

    spring+quartz使用jar包

    1. **Spring与Quartz的整合**:Spring 提供了对Quartz的集成支持,通过`org.springframework.scheduling.quartz`包中的类,如`SchedulerFactoryBean`和`ThreadPoolTaskExecutor`,可以轻松地将Quartz纳入Spring的...

    spring与quartz整合(包含jar)

    多个定时任务的配置,包含所需要的包,与spring整合好了的

    spring整合quartz使用jdbc存储

    Spring整合Quartz是一款高效的任务调度框架,用于在Java应用程序中定时执行特定任务。Quartz本身支持多种持久化策略,包括使用数据库(JDBC)来存储作业和触发器信息,这使得任务调度信息在系统重启后仍能保留。下面...

    关于spring中quartz的配置

    在Spring框架中集成Quartz是一款常见的任务调度解决方案,它允许开发者在应用中安排定时任务的执行。Quartz是一个开源的作业调度框架,可以用来在Java应用程序中安排复杂的作业任务。以下将详细介绍如何在Spring中...

    Spring与Quartz整合时用到的jar包

    Spring与Quartz整合时用到的jar包

    Spring整合Quartz

    Spring整合Quartz是一个常见的任务调度解决方案,用于在Java应用程序中执行定时任务。Quartz是一个功能强大的、开放源代码的作业调度框架,而Spring框架则是一个全面的企业级应用开发框架。将两者结合,我们可以利用...

    spring和quartz整合相关jar包

    将Spring与Quartz整合,可以利用Spring的容器管理特性来管理和配置Quartz,提高代码的可维护性和可测试性。以下是一些整合的关键步骤和知识点: 1. **引入依赖**:首先,你需要在项目中添加Spring和Quartz的依赖。...

    quartz整合springbatch定时集群实现mysql参考模版

    将Quartz与SpringBatch整合,可以利用Quartz的定时功能触发SpringBatch的任务执行。首先,你需要在Spring配置中声明一个QuartzScheduler,并设置JobStore类型为支持集群的JDBCJobStore。接着,定义一个SpringBatch的...

    Spring_QuartZDemo

    首先,我们需要了解Spring对Quartz的整合。Spring提供了一个名为`org.springframework.scheduling.quartz`的包,其中包含了一些用于配置和管理Quartz的类和接口。通过Spring的XML配置或Java配置,我们可以声明式地...

Global site tag (gtag.js) - Google Analytics