`
weigang.gao
  • 浏览: 488530 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Spring 3.0以后版本的定时任务(使用spring自带的)

 
阅读更多

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

 

  • 大小: 9.5 KB
分享到:
评论

相关推荐

    定时任务spring3.0

    除了Spring自带的定时任务支持,还可以结合Quartz库来实现更复杂的定时策略。Quartz是一个开源的作业调度框架,它提供了丰富的API来创建、调度和管理任务。Spring 3.0与Quartz的集成,可以让开发者充分利用Quartz的...

    Spring 框架自带定时任务和Quartz定时任务

    Spring Task是在Spring 3.0之后引入的,它使用起来相对简单,支持线程池,可以高效处理不同的定时任务。Spring Task可以通过注解或XML配置文件来配置任务。如果使用注解的方式,仅需要在方法上加上@Scheduled注解,...

    spring整合quartz两种方式以及spring自带定时任务使用

    Spring框架是Java应用开发中的一个核心组件,它提供了丰富的功能,包括依赖注入、AOP(面向切...而Spring自带的定时任务功能则提供了一种轻量级的选择,无需额外引入外部库。选择哪种方式取决于项目的具体需求和规模。

    Spring定时任务的几种实现

    3. **Spring 3.0之后自带的任务调度功能**:可以将其视为一个简化版的Quartz,使用起来更加简便,是本文重点介绍的内容之一。 #### 二、作业类的继承方式 根据作业类的继承方式,可以将定时任务实现方式分为两大类...

    spring定时任务的两种实现

    内含配置文件与代码示例 1.使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某...2.Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多.

    spring定时任务

    本篇文章将详细探讨Spring框架实现的三种定时任务方式:框架自带的Task Execution and Scheduling,Quartz Scheduler的集成以及使用注解进行任务调度。 首先,Spring框架本身提供了Task Execution and Scheduling...

    Spring Task.docx

    3) Spring Task:自Spring 3.0起,Spring框架提供了自己的任务调度工具,简化了定时任务的配置,使得在Spring环境中集成定时任务更加便捷。 在开发环境中,我们需要创建一个Java Web工程,并引入相关的依赖,如...

    java定时任务调度框架(csdn)————程序.pdf

    自Spring 3.0开始,Spring引入了`TaskScheduler`,提供了一种轻量级的定时任务解决方案。相比Quartz,Spring Schedule使用更简单,它可以方便地与Spring容器集成,通过注解配置或者编程方式来定义任务,支持任务的...

    使用java定时器的几种方式

    第三种方式是利用Spring 3.0以后版本中提供的task支持。Spring Task可以看作是轻量级的Quartz,它的优势在于使用简单。在Spring环境中,你可以通过注解来配置定时任务,比如使用@Scheduled注解来定义任务执行的频率...

    SpringBoot 实现定时任务的方法详解

    Spring 3.0 以后自带的 Task,可以将其看作是一个轻量级的 Quartz,使用起来比 Quartz 简单许多。Spring Task 提供了多种调度方式,包括 fixedRate、fixedDelay 和 cron 表达式等。 四、使用 Quartz Quartz 是一个...

    java Quartz定时器任务与Spring task定时的几种实现方法

    相比Quartz,Spring Task是Spring框架从3.0版本开始提供的轻量级定时任务解决方案。它的优点在于集成更简便,不需要额外的依赖库。Spring Task同样支持基于cron表达式的定时任务,通过`@Scheduled`注解即可实现。...

    flash red5开发

    4. **服务器执行计划**: Red5 还可以执行预定的任务,比如定时发布更新、清理缓存等,增强了服务器的可编程性。 5. **视频录制与播放**: 通过 Red5,可以实现在服务器端录制视频流,并允许客户端播放这些记录的内容...

Global site tag (gtag.js) - Google Analytics