1、使用JDK Timer调度任务
1、1、Timer触发器类型
一次性触发器
重复和固定延迟触发器
重复和定时触发器
基于JDK Timer的调度,使用一个简单易懂的框架提供了对一个程序基本调度需求的支持,使用Spring对JDK Timer
提供支持类,可以在外部对任务进行配置,可以更容易的实现任务的添加和移除。使用
MethodInvokingTimerTaskFactoryBean可以避免创建一个什么都不做的TimerTask。
2、使用OpenSymphony Quartz来调度任务
开源Quartz项目是一个专用的任务调度引擎,Spring对Quartz提供了集成的支持。
Quartz核心由两个接口和两个类组成:Job和Scheduler接口,JobDetail和Trigger类。
2、1、简单的任务调度
2、2、使用JobDataMap类
修改JobDataMap的内容来在同一个任务的不同执行中传递消息。但是若使用的不是RAMJobStore,它不能工作,原
因Quartz支持有状态和无状态任务。
2、3、使用CronTrigger类:提供对复杂触发器表达式的支持
1)Cron表达式的组件
1 秒(0-59) .、-、*和/
2 分(0-59) .、-、*和/
3 小时(0-23) .、-、*和/
4 日期(1-31) .、-、*和/、?、L、W和C
5 月(1-12) .、-、*和/
6 星期(1-7) .、-、*和/、?、L、C和#
7 年(1970-2099) .、-、*和/
2)Cron表达式的通配符和特殊字符
* 任意值
? 无特定值
- 范围
. 列分隔符,指定一系列的值
/ 增量,例如0/1表示从0开始,每次增加1min
L 日期中表示这个月的最后一天,星期域中表示星期六(7),例如星期域中6L表示每个月的最后一个星期五
W
# 表示该月的第几个星期,例如1#2表示每个月的第一个星期一
C 日历值,日期域中20C将在20日或20日后日历中包含的第一天激活触发器
2、4、任务持久化
JobStore接口,默认实现RAMJobStore,简单的把任务放到内存中。JobStoreCMT(服务器环境中)和
JobStoreTX(独立的程序),使用一个配置好的数据源来持久化任务细节。
分享到:
相关推荐
标题中的“fzTThreadTimer”是一个专为解决Delphi自带定时控件局限性而设计的线程定时器组件。描述中提到,Delphi内置的定时器控件(如TTimer)是基于消息机制工作的,这意味着它依赖于应用程序的消息循环来触发事件...
在Windows编程环境中,MFC(Microsoft Foundation Classes)库提供了一种方便的方式来实现应用程序中的定时功能,这就是MFC定时器。MFC定时器主要用于在特定时间间隔后触发一个事件,这在许多应用场景中都非常有用,...
**ACE完整牛逼定时器详解** ACE(Adaptive Communication Environment)是一个开源的、跨平台的C++库,专为分布式实时系统设计,提供了一系列高级网络编程接口和工具。在这个“ACE完整牛逼定时器”中,我们将深入...
STM32定时器级联是STM32微控制器中一种高效利用硬件资源、扩展定时功能的方法。在STM32系列芯片中,定时器可以被配置为级联模式,以实现更复杂的定时或计数任务,比如产生精确的PWM输出、高分辨率的计数等。下面我们...
在JavaScript编程中,定时器(Timer)是常用于实现异步操作的重要工具,例如延迟执行、周期性执行任务。然而,如果不妥善管理,定时器可能会引发一些问题,比如多次调用定时器导致叠加,以及定时器无法清除。本文将...
如果先初始化从模式定时器3,定时器3工作在触发模式下,TRGI信号来源为定时器2的TRGO,而定时器2还未初始化,故TRGO信号来源默认是UG位,故在定时器2初始化过程中会置位UG位,从而触发定时器3的从模式触发模式,导致...
在本实验“实验8 定时器中断实验”中,我们将深入探讨单片机中的一个重要功能模块——定时器,以及如何使用C语言进行编程。定时器中断是嵌入式系统和微控制器应用中的核心概念,它允许系统在执行其他任务的同时,...
根据给定的文件信息,我们可以总结出以下关于“51单片机定时器C语言程序”的相关知识点: ### 一、51单片机简介 51单片机是一种广泛应用于电子设备中的微控制器,其核心是8位的中央处理器(CPU)。51单片机因其...
在本实验中,我们将深入探讨8位定时器中断在微控制器中的应用,主要使用的是Keil μVision集成开发环境(IDE)以及相关的编程语言。定时器中断是嵌入式系统中一个非常重要的功能,它允许处理器在执行其他任务的同时...
51定时器计算工具是一款专为51单片机编程者设计的应用软件,它简化了51系列定时器的设置和计算过程。51单片机是广泛应用在电子工程、物联网设备、自动化控制等领域的微控制器,其内部包含了多个定时器资源,用于执行...
在不依赖BIOS(板级支持包)的情况下,我们可以直接利用其内部的硬件资源,如定时器1和定时器2进行系统定时和中断处理。这两个定时器与定时器0在功能上相似,但提供了额外的灵活性,以满足不同的应用需求。 定时器1...
STM32定时器计算器是一款专为STM32微控制器设计的实用工具,它帮助开发者快速准确地计算出在不同工作模式下,定时器所需的配置参数,如频率、分频系数和周期设定值。STM32系列是基于ARM Cortex-M内核的微控制器,...
STM32定时器计算工具是专为STM32微控制器设计的一款实用软件,它简化了在嵌入式系统开发过程中对定时器配置的复杂计算。STM32是意法半导体(STMicroelectronics)推出的基于ARM Cortex-M内核的微控制器系列,广泛...
在IT领域,定时器是一种非常重要的工具,广泛应用于各种软件系统中,如操作系统、网络服务、游戏开发等。虚拟定时器则是对真实物理时钟的一种抽象,它允许开发者创建多个独立的定时任务,每个任务都有自己的定时逻辑...
**C# 版本多媒体定时器详解** 在C#编程中,我们经常需要处理精确的定时任务,特别是在多媒体应用中,如音乐播放、视频处理等。传统的System.Timers.Timer或System.Threading.Timer虽然方便,但在某些情况下,它们的...
在编程领域,定时器是一种非常重要的工具,它允许程序在特定的时间间隔执行某项操作。在C#中,我们可以利用多种方法实现定时器功能,其中之一就是通过调用底层的多媒体定时器API。本文将深入探讨如何在C#中调用采用...
### STM32定时器输出比较模式完全解读及毫秒级定时器配置 #### 一、STM32定时器概述 STM32微控制器系列中包含了多种类型的定时器,包括高级控制定时器(TIM1和TIM8)、通用定时器(TIM2、TIM3、TIM4和TIM5)以及基本...
QT高精度定时器是针对那些需要毫秒级别甚至更精细时间控制的应用程序设计的解决方案。在常规的QT和Windows系统中,内置的定时器在处理毫秒级别的延时时可能存在精度不足的问题,这可能会影响到一些对时间精确度要求...
STM32 定时器中断实验是嵌入式系统开发中的一个重要环节,尤其在基于Cortex-M32内核的STM32单片机中,定时器中断的应用广泛且至关重要。STM32系列微控制器拥有丰富的定时器资源,如基本定时器、通用定时器、高级...
辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 ...