Spring3.0以后自带自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种
如下,配置文件方式
项目目录结构以及所需jar包如下:
1.首先确定需要定时执行的java方法TaskScaner的execScanTask方法
package com.bjsxt.cronjob; public class TaskScaner { public void execScanTask(){ System.out.println("定时任务...."); } }
2.配置spring的配置文件beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"> <!-- 在beans中这里加入了 xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd --> <task:annotation-driven /> <!-- 定时器开关--> <bean id="taskScaner" class="com.bjsxt.cronjob.TaskScaner"></bean> <task:scheduled-tasks> <!-- 这里表示的是从第五秒开始 ,每三秒执行一次 (而不是 三分之五 秒执行一次哦~~) --> <task:scheduled ref="taskScaner" method="execScanTask" cron="5/3 * * * * ?" /> </task:scheduled-tasks> </beans>
3.编写定时任务测试类CronJobTest.java
package com.bjsxt.cronjob; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * 定时任务测试 * @author gaoweigang * */ public class CronJobTest { public static void main(String[] args) throws Exception { String[] config = {"beans.xml"}; ApplicationContext act = new ClassPathXmlApplicationContext(config); } }
cron表达式:-是用空格分开的时间字段,不使用年。
*(秒0-59) *(分钟0-59) *(小时0-23) *(日期1-31) *(月份1-12或是JAN-DEC) *(星期1-7或是SUN-SAT)
示例:
*/5 * * * * 6-7 :: 每个周6到周日,每隔5秒钟执行一次。
*/1 * * 7-9 1-2 1-7 :: 1月到2月中的7号到9号,且必须要满足周一到周日,每隔1秒钟执行一次。
*/1 * * 7-9 1,5 1-7 :: 注意里面的,(逗号),只有1月和5月的7到9号,且必须要满足周一到周日,每一秒钟执行一次。
*/1 17-59 * 7-9 1,5 1-7 :: 只解释17-59,是指从第17分钟到第59分钟,在指定的时间内,每一秒种执行一次
* 17-59 * 7-9 1,5 1-7 :: 此代码的功能与上面完全相同。如果不写秒即为每一秒执行一次。
59 19-23 * 7-9 1,5 1-7 :: 19分-23分的每59秒钟时只执行一次。
59 19,26 * 7-9 1,5 1-7 :: 注意里面的,(逗号),是指只有19分或是26分的56秒钟时执行一次。
* * 16-23 7-9 1,5 1-7 :: 定义每天的16点到23点每一秒钟执行一次。
59 59 23 * * 1-5 :: 定义每周1到周5,晚上23:59:59秒只执行一次。这个相当用有。可以工作时间每天给用户发邮件。
annotation用法的可以参考原文。。。
原文:http://blog.csdn.net/yusimiao/article/details/25654899
相关推荐
除了Spring自带的定时任务支持,还可以结合Quartz库来实现更复杂的定时策略。Quartz是一个开源的作业调度框架,它提供了丰富的API来创建、调度和管理任务。Spring 3.0与Quartz的集成,可以让开发者充分利用Quartz的...
Spring Task是在Spring 3.0之后引入的,它使用起来相对简单,支持线程池,可以高效处理不同的定时任务。Spring Task可以通过注解或XML配置文件来配置任务。如果使用注解的方式,仅需要在方法上加上@Scheduled注解,...
Spring框架是Java应用开发中的一个核心组件,它提供了丰富的功能,包括依赖注入、AOP(面向切...而Spring自带的定时任务功能则提供了一种轻量级的选择,无需额外引入外部库。选择哪种方式取决于项目的具体需求和规模。
3. **Spring 3.0之后自带的任务调度功能**:可以将其视为一个简化版的Quartz,使用起来更加简便,是本文重点介绍的内容之一。 #### 二、作业类的继承方式 根据作业类的继承方式,可以将定时任务实现方式分为两大类...
内含配置文件与代码示例 1.使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某...2.Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多.
本篇文章将详细探讨Spring框架实现的三种定时任务方式:框架自带的Task Execution and Scheduling,Quartz Scheduler的集成以及使用注解进行任务调度。 首先,Spring框架本身提供了Task Execution and Scheduling...
3) Spring Task:自Spring 3.0起,Spring框架提供了自己的任务调度工具,简化了定时任务的配置,使得在Spring环境中集成定时任务更加便捷。 在开发环境中,我们需要创建一个Java Web工程,并引入相关的依赖,如...
自Spring 3.0开始,Spring引入了`TaskScheduler`,提供了一种轻量级的定时任务解决方案。相比Quartz,Spring Schedule使用更简单,它可以方便地与Spring容器集成,通过注解配置或者编程方式来定义任务,支持任务的...
第三种方式是利用Spring 3.0以后版本中提供的task支持。Spring Task可以看作是轻量级的Quartz,它的优势在于使用简单。在Spring环境中,你可以通过注解来配置定时任务,比如使用@Scheduled注解来定义任务执行的频率...
Spring 3.0 以后自带的 Task,可以将其看作是一个轻量级的 Quartz,使用起来比 Quartz 简单许多。Spring Task 提供了多种调度方式,包括 fixedRate、fixedDelay 和 cron 表达式等。 四、使用 Quartz Quartz 是一个...
相比Quartz,Spring Task是Spring框架从3.0版本开始提供的轻量级定时任务解决方案。它的优点在于集成更简便,不需要额外的依赖库。Spring Task同样支持基于cron表达式的定时任务,通过`@Scheduled`注解即可实现。...
4. **服务器执行计划**: Red5 还可以执行预定的任务,比如定时发布更新、清理缓存等,增强了服务器的可编程性。 5. **视频录制与播放**: 通过 Red5,可以实现在服务器端录制视频流,并允许客户端播放这些记录的内容...