`

spring3.0设置定时任务

阅读更多
今天做个小需求,需要用到定时器。

就把以前写过的配置文件模板直接复制过来,又顺手点进去看了一下源码,发现TimerFactoryBean、ScheduledTimerTask都已经被标记成@Deprecated了
@Deprecated
public class TimerFactoryBean implements FactoryBean<Timer>, BeanNameAware, InitializingBean, DisposableBean

@Deprecated
public class ScheduledTimerTask

那肯定就不乐意用了,就上网找了找spring3.0之后的新用法,果然是有变化,而且比以前简单了很多,在这里记录一下

我记得以前那种做法,业务类是要继承自TimerTask才行的,现在就不用了,是一个pojo就可以
public class TestService {

	private Logger logger = LoggerFactory.getLogger(TestService.class);

	public void sayHello() {
		System.out.println("hello world");
	}

	public void sayBye() {
		System.out.println("bye world");
	}

}

然后配置文件也更简单
<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">

	<bean id="testService" class="com.xxx.spring.business.TestService" />

	<task:scheduled-tasks>
		<task:scheduled ref="testService" method="sayHello" cron="3/11 * * * * ?" />
		<task:scheduled ref="testService" method="sayBye" cron="7/13 * * * * ?" />
	</task:scheduled-tasks>

</beans>

只要用一个新增的<task:scheduled-tasks>就可以了

就是有一点要注意一下,新的时间配置,是类似于cron的语法,比以前强大很多。

不过我只用到了第一个参数:3/11,表示延迟3秒启动,间隔11秒;7/13表示延迟7秒启动,间隔13秒
分享到:
评论
2 楼 javavsxiaoming 2012-08-03  
这不用区分 简单触发器和复杂出发器之类的吧, 2.5还有个Simple和cron之分。

比方要配置每周几几点触发,应该也是直接配置cron="7/13 * * * * ?" 。

上次性能优化的代码,全是用代码实现的,每周日的0:00检查创建分区。把cron表达式跟 触发类 放到数据库表里, 代码还看着复杂-B,其实spring配置只需要几行就搞定了。
1 楼 kewen342757003 2012-08-02  
简直是屌爆炸了啊
好巧   好巧 
刚好做的需求也要用到定时任务  十分感谢楼主啊~~~

相关推荐

    Spring3.0定时任务简单实例web工程

    总结来说,这个"Spring3.0定时任务简单实例web工程"提供了一个使用Spring 3.0实现定时任务的实例,通过配置`TaskScheduler`,定义任务类,使用`@Scheduled`注解设置执行计划,最后在Web应用启动时启动任务,可以方便...

    定时任务spring3.0

    在Spring配置文件中定义`&lt;task:scheduled-tasks&gt;`元素,并通过`&lt;task:scheduled&gt;`子元素设置定时任务,如下: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    Spring3.0Jar包

    9. **Quartz 集成**:Spring 3.0 提供了对 Quartz 定时任务调度器的集成,方便进行定时任务的管理和执行。 10. **国际化支持**:Spring 提供了 `MessageSource` 接口,用于处理多语言消息,使得应用能够适应不同...

    spring3.0发行版

    例如,MessageSource接口提供了更强大的国际化支持,而TaskExecutor和TaskScheduler接口则使得异步任务处理和定时任务的实现变得简单。 总之,Spring 3.0发行版是一个里程碑式的版本,它通过模块化设计、Java配置、...

    spring 3.0 src

    8. **任务调度**:Spring 3.0引入了TaskExecutor和TaskScheduler接口,提供了灵活的任务执行和调度能力,支持定时任务和并发任务。 9. **国际化(Internationalization,i18n)**:Spring 3.0提供了更强大的国际化...

    Spring3.0 mvc 定时器及多线程任务demo

    在Spring 3.0中,我们可以使用Spring的TaskExecutor或ScheduledTaskRunner来实现定时任务。定时任务主要用于执行一些周期性的操作,如数据清理、报表生成、系统监控等。Spring提供了一个名为`@Scheduled`的注解,...

    spring3.0+quartz-1.6.0定时

    总结起来,"spring3.0+quartz-1.6.0定时"的实现涉及到Spring框架的定时任务支持和Quartz库的结合使用,通过Spring的配置管理Quartz调度器,定义任务和触发器,最后编写具体任务逻辑的Java类。这种组合在实际项目中...

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

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

    spring3.0 + Quartz1.52 + applicationContext.xml

    这个压缩包“spring3.0 + Quartz1.52 + applicationContext.xml”显然是一个关于如何在Spring 3.0环境中集成Quartz 1.52版本的示例或教程资源。 首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义...

    spring3配置quartz定时任务

    本文将详细介绍如何在Spring 3中配置Quartz来实现定时任务。 首先,理解定时任务的基本概念。定时任务是在指定时间点或按照一定规律自动执行的任务,这在业务系统中非常常见,例如数据清理、报表生成等。Quartz提供...

    Spring3.0作业调度

    总的来说,Spring 3.0的作业调度功能是其强大的自动化工具之一,它不仅提供了基本的定时任务执行,还通过新的API和机制,让开发者能够构建复杂、高效且可靠的调度解决方案。无论是在小型项目还是大型企业级应用中,...

    spring3.0的中文帮助文档和权威开发指南

    13. **Quartz调度器集成**:Spring提供了与Quartz作业调度库的集成,方便安排定时任务。 14. **国际化(i18n)**:Spring提供了对国际化消息资源的支持,使应用程序能轻松地适应多种语言环境。 15. **测试支持**:...

    spring定时任务实现

    Spring 3.0以后引入了自己的Task模块,提供了一种轻量级的定时任务解决方案。Spring Task使用起来比Quartz简单,同时保留了足够的灵活性。它可以处理固定间隔的任务,也可以使用`CronTrigger`实现基于cron表达式的...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    Spring框架结合Quartz库,提供了一种强大而灵活的方式来管理这些定时任务。本项目旨在演示如何利用Spring和Quartz从数据库中动态加载定时任务,并实现对它们的增删改查功能。以下是关于这个主题的详细知识讲解。 ...

    Spring普通定时任务和动态设置定时任务

    ### Spring 普通定时任务与动态设置定时任务详解 #### 一、Spring 定时任务简介 在软件开发过程中,经常会遇到需要周期性执行的任务,例如数据备份、定时发送邮件等。对于这类需求,Spring 提供了一种简单且灵活的...

    Spring提供的三种定时任务机制及其比较

    Spring 3.0引入了`@Scheduled`注解,这是一种更简洁的定时任务解决方案。通过在方法上添加此注解,Spring的定时任务执行器会自动处理任务调度。这种方法适用于简单任务,且不需Quartz的复杂特性。例如: ```java ...

    spring定时器3.0之前和3.0之后版本以及相应的项目实例

    Spring 3.0引入了重大改进,弃用了基于`java.util.Timer`的定时器,并引入了`org.springframework.scheduling.concurrent`包,主要基于`java.util.concurrent.ScheduledExecutorService`实现定时任务。新的定时器...

    spring3.0异步

    因此,应根据实际需求和性能瓶颈选择合适的异步策略,如批量处理、定时任务等。 总结,Spring 3.0及后续版本的异步功能,结合Spring MVC和MyBatis,能够构建高性能的Web应用。通过合理的配置和设计,开发者可以有效...

Global site tag (gtag.js) - Google Analytics