spring定时器小结
1. spring+java.util.TimerTask
a. 定义工作任务:
工作任务类继承timerTask,并实现工作任务run.
b. 定义任务调度器:
把工作任务注入spring的定时任务调度器: ScheduledTimerTask,指定任务的执行时间.
c. 启动调度器:
通过spring的定时任务启动器TimerFactoryBead启动任务调度器,可以加载多个任务调度器.
参代码:lock.Lock
2. 使用Quartz+spring
a. 定义工作任务:
继承QuartzJobBean,实现executeInternal定义工作任务.
b. 定义任务调度器:
使用spring的触发器simpleTriggerBean,cronTriggerBean来定义调度任务.在其中指定任务执行时间.
c. 启动调度器:
通过spring启动器schedulerFactory加载触发器启动任务调度器.可以加载多个调度器
参考:一般指定时间方式:Lock2, cron指定时间方式:Lock1
3. 普通类注入到org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean来定义一个任务.
把此任务注入到任务调度器cronTriggerBean.由schedulerFactoryBean启动.jobDetail由MethodInvokingJobDetailFactoryBean创建.通俗的是通过在定义任务的类继承QuartzJobBean来定义jobDetal.
参考:task
4. 任务时间指定方式有两种
延迟和时隔时长和linux cron方式. 精确几点执行定时任务
Cron时间指定方式
一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下:
1.秒(0-59)
2.分钟(0-59)
3.小时(0-23)
4.月份中的是期(1-31)
5.月份(1-12或SUN-DEC)
6.星期中的日期(1-7或SUN-SAT)
7.年份(1970-2099)
例子:
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日午夜过30秒时
0 0 8-5 ? * MON-FRI 每个工作日的工作时间
- 区间
* 通配符
? 你不想设置那个字段
5. 使用普通类代替java.util.timerTask来定义任务
常见的定时任务是继承java.util.TimerTask来定义一个任务,现可以通过Spring 提供 org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean ,把普通的JAVA工作类注入到方法调用器中.再通过调度器(触发器)来指定任务运行方式.由schedulerFactory启动调度器.
参见代码: Task2
分享到:
相关推荐
Spring框架提供了对定时任务的强大支持,包括内置的`Spring Timer`和集成第三方的`Quartz Scheduler`。这两种方式都允许开发者灵活地安排和执行周期性任务。下面我们将深入探讨这两种任务调度器及其在Spring中的使用...
Spring两种定时器实例配置:Java的TimerTask类和OpenSymphony的Quartz。包含5种配置方式:timer普通定时器、timer特定方法定时器、quartz简单定时器、quartz精确定时器、quartz特定方法定时器。简单实用,一看就会。
Spring定时器是Spring框架中的一个强大特性,它允许开发者在应用程序中设置定时任务,实现周期性的操作。在本文中,我们将深入探讨Spring定时器的详细使用方法,包括配置、任务调度以及常见应用场景。 首先,Spring...
spring-2.0.6.jar Spring框架的核心包 jta.jar 会用到包中的usertransaction,具体什么用此处暂时不论 quartz-1.6.0.jar 会用到CronTrigger这个类,通过表达式实现精确的定时 commons-logging-1.1.1.jar 日志管理包 ...
Spring提供了多种方式来实现定时任务,其中之一就是使用`Timer`。`Timer`接口源自Java标准库,但在Spring中,我们可以结合它来创建更加灵活的定时任务。本教程将详细介绍如何在Spring中使用`Timer`来实现能精确到几...
在Java世界中,任务调度是十分重要的,Spring框架提供了多种定时任务实现方式,其中包括Quartz和Timer。Quartz是一款开源的作业调度框架,而Timer是Java标准库中的一个类,用于执行定时任务。这两个工具都能帮助...
对于`java.util.Timer`,Spring 提供了`org.springframework.scheduling.timer` 包,可以方便地通过Spring的bean配置来管理和调度Timer任务。而对于Quartz,Spring则提供了`org.springframework.scheduling.quartz` ...
本实践主要涉及Spring集成两种常见的任务调度库:Spring的Timer和Quartz。这两者都允许开发者在预定义的时间间隔内执行任务,极大地提高了应用的灵活性和效率。下面将详细介绍这两个任务调度工具及其在Spring中的...
在【标题】"Spring的定时任务开发及对Quartz和Timer支持"中,涉及到的是Spring在处理定时任务方面的特性,这在企业级应用中非常常见,用于执行一些周期性的后台任务,如数据同步、报表生成、清理任务等。 首先,...
4. **Spring定时器(Spring Timer)** Spring提供了一种集成Java的定时任务API(java.util.Timer)的方式,允许开发者设置定时触发的任务,如周期性检查航线费率变动。这在实现工作流引擎时非常有用,可以自动启动...
Spring框架作为Java领域最流行的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器,不仅提供了强大的依赖注入功能,还支持定时任务的执行,这就是我们常说的Spring Timer。它允许开发者在...
在Spring框架中,Spring Timer是一个强大的工具,用于执行定时任务。它允许开发者在特定的时间间隔内执行预定的任务,类似于Java的ScheduledExecutorService或者Quartz Scheduler。让我们深入探讨Spring Timer的相关...
在Spring中使用`Timer`,有两种主要的方法来创建和调度这些时间触发的事件任务: 1. **继承TimerTask创建任务** 这种方法与传统的Java `Timer`用法相似。你需要创建一个类,继承自`java.util.TimerTask`,并重写`...
spring 整合 quartz|| timer有几种方式? 我收集的:《spring定时Timer&Quartz》 代码示例,依赖spring2.x.jar quartz1.6.x.jar 相关介绍: http://blog.csdn.net/liu251/archive/2009/08/18/4459514.aspx
在Java编程语言中,`Timer`类和Spring框架的定时任务是两种常见的实现定时执行任务的方式。本篇文章将深入探讨这两个主题,旨在帮助初学者理解它们的工作原理以及如何在实际项目中应用。 首先,让我们来看一下Java...
spring定时器Timer.rarspring定时器Timer.rarspring定时器Timer.rarspring定时器Timer.rarspring定时器Timer.rarspring定时器Timer.rar
Spring版 timer HelloWorld”这一主题,它是Spring框架与Java定时任务处理的一个简单示例。通过这个实例,我们可以了解如何在Spring应用中使用Timer进行定时任务的执行。 首先,让我们明确什么是Timer。在Java中,...
标题与描述均提到了“Java_Timer定时器实例_Spring实例”,这表明文章主要讨论的是如何在Java中使用Timer类创建定时任务,并将其整合到Spring框架中。以下是对该主题的详细解析: ### Java中的Timer定时器 #### ...