`
沉睡的鱼
  • 浏览: 71520 次
  • 性别: Icon_minigender_2
  • 来自: 石家庄
社区版块
存档分类
最新评论

spring的调度框架

 
阅读更多
很明显,spring的调度框架是基于spring框架的,位于org.springframework.scheduling.quartz包下(spring帮助文档中有说明)
该框架的配置文件
1、TestQuarz是执行操作的类(普通类即可也可以是extends QuartzJobBean)
<bean id="testQuarz" class="cn.boying.dailishang.TestQuarz"></bean>

2、调度工作(何时及以怎样的频度运行Querta工作,spring提供了两个触发器,SimpleTriggerBean和CronTriggerBean)
例如,要调度报表工作每24小时运行一次,第一次在1小时之后开始运行,可以按照以下方式进行声明:

类 extends java.util.TimerTask
<!-- 配置bean -->
<bean id="timertest" class="TimerTest">
</bean>
<!-- 调度定时任务 -->
<bean id="scheduledtask"
class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask">
<ref bean="timertest" />
</property>
<property name="period">
<!--间隔多少时间再次执行run()方法、毫秒-->

<value>60000</value>
</property>
<property name="delay">
<!--系统启动多少时间开始执行run()方法、毫秒-->
<value>120000</value>
</property>
</bean>
<!-- 启动定时器 -->
<bean
class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduledtask"></ref>
</list>
</property>
</bean>

注:jonDetail装配了将要调度的对象,repeatInterval告诉我们以怎样的频度运行这个工作(单位是毫秒),这里86400000,因此每隔24小时它会被触发一次,startDelay属性来延迟工作的第一次执行,3600000,第一次触发之前它会等待1小时。属cronExpression告诉触发器何时触发。
启动工作spring的SchedulerFactoryBean 类。:

<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list><ref local="cronTrigger" /></list></property>
</bean>
属性triggers接受一组触发器。
3按调度计划调用方法。

<bean id="testTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="testQuarz" />
</property>
<property name="targetMethod">
<value>sayHello</value>
</property>
</bean>
注:targetObject要调度的工作对象,targetMethod调度对象中执行操作的调度方法。
一个cron表达式有至少6个(也可能是7个)有空格分隔的时间元素。从左至右,这些元素的定义如下:
1.秒(0-59)
2分钟(0-59)
3小时(0-23)
4月份中的日期(1-31)
5月份(1-12或是JAN=DEC)
6星期中的日期(1-7或是SUN-SAT)
7年份(1970-2099)
每一个元素都可以显示的规定一个值(如6),一个区间(如9-12),一个列表(如9,11,13)或是一个通配符(如*)。“月份中的日期”和“星期中的日期”这两个元素都互斥的,因此应该通过设置一个问号(?)来表明你不想设置的那个字段。
下列是一些表达式的例子:
0 0 10,14,16 * * ?  每天上午10点,下午2点和下午4点
0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟
30 0 0 1 1 ? 2012 在2012年1月1日午夜过三十秒
0 0 8-5 ? * MON-FRI 每个工作日得工作时间
分享到:
评论

相关推荐

    运用Spring框架实现简单调度

    当前很多开源项目也提供了比较全面的调度功能,如quartz、jcrontab、JobServer等,在这里我介绍一种比较简单的调度,没有quartz那么复杂,目的在于实用就行,这种调度就是spring提供的调度功能,该调度功能基于...

    Spring整合任务调度框架Quartz

    Spring 整合任务调度框架 Quartz 在软件开发中,任务调度框架是非常重要的一部分,它可以帮助开发者更好地管理和执行各种任务。在 Java 领域中,Quartz 是一个非常流行的任务调度框架,而 Spring 是一个非常流行的 ...

    Spring集成Quartz调度框架.pdf

    ### Spring集成Quartz调度框架详解 #### 一、Quartz调度框架概述 Quartz是一个开源的、成熟的作业调度框架,其主要目标是在Java应用程序中提供简单而强大的作业调度能力。Quartz支持作业按时间间隔(如每天、每周...

    Spring框架.ppt

    向Spring 框架提供上下文信息,包括企业服务,如 JNDI、EJB、电子邮件、国际化、校验和调度等。 Spring AOP。通过配置管理特性,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块直接将面向方面...

    spring 任务调度

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

    使用spring调度

    Spring调度允许开发者安排一次性或周期性的任务执行,这对于实现后台服务、定时任务或者批处理作业非常有用。本篇文章将深入探讨Spring调度的使用,包括核心概念、配置方式以及源码解析。 1. **Spring调度核心组件*...

    Quartz一个开源的作业调度框架

    Quartz是一个广泛应用于企业级应用中的开源作业调度框架,它为开发者提供了强大的任务调度功能,使得应用程序能够在预定的时间执行特定的任务。Quartz的核心设计目标是简单易用且可高度扩展,能够满足从小型项目到...

    Spring2.x集成Quartz调度框架

    **Spring2.x集成Quartz调度框架** 在Java应用开发中,常常需要进行任务调度,例如定时执行某些业务逻辑。Quartz是一款强大的、开源的作业调度框架,它支持复杂的调度策略和集群环境。Spring框架则提供了良好的企业...

    spring5 框架 中文文档_spring-framework-5-doc-cn.zip

    1. **企业级应用开发**:Spring的完整生态系统可以处理各种企业级任务,如安全性、缓存、任务调度等。 2. **微服务架构**:Spring Cloud提供了在分布式系统中开发微服务的工具,如服务发现、配置中心、熔断器等。 3....

    quartz-1.6.2 时间任务调度框架 jar 包

    spring quartz 时间任务调度框架 spring quartz 时间任务调度框架 spring quartz 时间任务调度框架

    Spring.Batch批处理框架

    Spring Batch 是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成的批处理任务。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不提供相应的调度功能。如果需要使用调用框架,在商业...

    spring完整框架包,spring框架jar包

    - `spring-context.jar`:扩展了IoC容器,添加了对AOP、事件传播、国际化、任务调度等的支持。 - `spring-core.jar`:Spring的核心工具类,包括资源加载、异常处理等基础功能。 - `spring-expression.jar`:提供了...

    基于Spring Boot的微任务分布式调度框架设计源码 - spring-boot-micro-job

    本源码提供了一个基于Spring Boot的微任务分布式调度框架的设计。项目包含61个文件,其中包括22个Java文件、21个XML文件、8个YML文件、3个Markdown文档、1个gitignore文件、1个Properties文件、1个LICENSE文件、1个...

    spring 任务调度实现代码例子

    在Spring框架中,任务调度是一项重要的功能,它允许开发者安排任务在特定的时间点或周期性地执行。这个“spring 任务调度实现代码例子”很可能是包含了一些示例代码,用于演示如何在Spring应用中配置和使用任务调度...

    spring整合其他框架

    5. Spring与Quartz整合:Quartz是用于任务调度的开源库。Spring与Quartz结合,可以方便地创建、管理和执行定时任务,使得后台工作自动化,减轻服务器压力。 6. Spring与Shiro整合:Apache Shiro是一个强大的安全...

    基于Spring Boot框架的简单任务调度系统.zip

    基于Spring Boot框架的简单任务调度系统 内容概要 本项目是一个基于Spring Boot框架的简单任务调度系统,旨在提供一个灵活的任务管理和调度机制。系统支持异步任务处理、动态代理加载、热部署功能,并集成了...

    Spring实现任务调度

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

    spring调度器用到的jar

    下面将详细介绍Spring调度器的相关知识点。 一、Spring Task模块 Spring Task是Spring Framework的一部分,提供了异步任务执行和定时任务调度的能力。它包括两个主要部分:`TaskExecutor`用于异步任务执行,而`...

    基于Spring Boot框架的任务调度系统.zip

    基于Spring Boot框架的任务调度系统 项目简介 本项目是一个基于Spring Boot框架的任务调度系统,采用领域驱动设计(DDD)的分层架构。系统主要负责任务的调度、执行和管理,支持多种任务类型和状态管理,确保任务...

    基于 SpringBoot 的调度框架

    本项目基于Spring Boot实现了一个调度框架,这使得我们可以自动化执行一系列定时任务,而无需手动干预。以下是对这个“基于SpringBoot的调度框架”的详细解析。 首先,Spring Boot集成Quartz或Spring Task是实现...

Global site tag (gtag.js) - Google Analytics