Spring3.0以后,自己已经完全支持更加精确的时间,而不需要Quartz的支持:当然后面我们也会用Quartz实现任务的调度。
Spring3.0同样也使用cron表达式。与Quartz不同的是,Spring3.0不支持年,而Quartz支持年。但这点好象并不是非常重要。
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秒只执行一次。这个相当用有。可以工作时间每天给用户发邮件。
在Spring3.0中引用了新的命名空间-task:
task:scheduler 用于定义一个ThreadPoolTaskScheduler,并可以指定线程池的大小,即pool-size.所有任务队列都将会在指定大小的线程池中运行:
定义如下:
<!-- 对于同一个Pojo可以声明多次,并设置标记属性 -->
<bean id="one" class="cn.itcast.schedule.One">
<property name="task" value="A"></property>
</bean>
<bean id="two" class="cn.itcast.schedule.One">
<property name="task" value="B"></property>
</bean>
<bean id="three" class="cn.itcast.schedule.One">
<property name="task" value="C"></property>
</bean>
<!-- 声明一个具有两个线程的池,每一个对象将获取同样的运行机会 -->
<task:scheduler id="sch" pool-size="2"/>
<!-- 引用线程池 -->
<task:scheduled-tasks scheduler="sch">
<!-- 引用Spring Bean并设置调用的方法的时间间隔 -->
<task:scheduled ref="one" method="doSomeThing" fixed-delay="#{1000*3}"/>
<task:scheduled ref="two" method="doSomeThing" fixed-delay="#{1000*3}"/>
<task:scheduled ref="three" method="doSomeThing" fixed-delay="#{1000*3}"/>
</task:scheduled-tasks>
<!-- 配置一个定时执行的任务 -->
<bean id="work" class="cn.itcast.schedule.Two"/>
<task:scheduler id="sendMail"/>
<task:scheduled-tasks scheduler="sendMail">
<!-- 定义在1月8号19:37:1秒执行一次,无论是周几 -->
<task:scheduled ref="work" method="work" cron="1 37 19 8 1 *"/>
</task:scheduled-tasks>
定义好之后,正常启动容器即可,只有条件符合,即会按要求执行任务。
相关推荐
【Spring 3.0作业调度】是Spring框架中的一个重要组件,它允许开发者在特定时间点或按照预定的周期执行任务,极大地增强了应用的自动化能力。本文将深入探讨Spring 3.0中的作业调度机制,包括其重要性、基本概念、...
总结来说,这个"Spring3.0定时任务简单实例web工程"提供了一个使用Spring 3.0实现定时任务的实例,通过配置`TaskScheduler`,定义任务类,使用`@Scheduled`注解设置执行计划,最后在Web应用启动时启动任务,可以方便...
`@EnableScheduling`注解在类上启用定时任务调度器。 2. **基于XML配置的定时任务**: 在Spring配置文件中定义`<task:scheduled-tasks>`元素,并通过`<task:scheduled>`子元素设置定时任务,如下: ```xml ...
9. **Quartz 集成**:Spring 3.0 提供了对 Quartz 定时任务调度器的集成,方便进行定时任务的管理和执行。 10. **国际化支持**:Spring 提供了 `MessageSource` 接口,用于处理多语言消息,使得应用能够适应不同...
此外,Spring 3.0在国际化(i18n)、邮件服务、任务调度等方面也有诸多改进。例如,MessageSource接口提供了更强大的国际化支持,而TaskExecutor和TaskScheduler接口则使得异步任务处理和定时任务的实现变得简单。 ...
Spring 3.0 API是Java开发中至关重要的一个框架,它是Spring框架的一个主要...通过查阅`Spring3.0-API.chm`文件,开发者可以快速查找并学习到Spring 3.0中的各种功能和API,从而更好地利用Spring进行应用程序的开发。
8. **任务调度**:Spring 3.0引入了TaskExecutor和TaskScheduler接口,提供了灵活的任务执行和调度能力,支持定时任务和并发任务。 9. **国际化(Internationalization,i18n)**:Spring 3.0提供了更强大的国际化...
org.springframework.context-3.0.0.M4.jar: 提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等 org.spring...
5. `org.springframework.context.support-3.0.0.RELEASE`:提供了对Spring-context的扩展支持,主要用于MVC场景,包含了对邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存和视图层框架封装等功能。...
这个压缩包“spring3.0 + Quartz1.52 + applicationContext.xml”显然是一个关于如何在Spring 3.0环境中集成Quartz 1.52版本的示例或教程资源。 首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义...
以上只是Spring 3.0配置知识的一部分,实际文档中会涵盖更多细节,包括如何配置数据源、事务管理、缓存、任务调度等,以及如何使用Spring的测试框架进行单元测试和集成测试。通过深入学习和理解这些配置机制,开发者...
在Spring 3.0 MVC框架中,定时器和多线程任务是两个关键概念,用于构建高效、自动化的Web应用程序。下面将详细讲解这两个概念及其在实际应用中的使用。 一、Spring 3.0 MVC定时器 在Spring 3.0中,我们可以使用...
总结起来,"spring3.0+quartz-1.6.0定时"的实现涉及到Spring框架的定时任务支持和Quartz库的结合使用,通过Spring的配置管理Quartz调度器,定义任务和触发器,最后编写具体任务逻辑的Java类。这种组合在实际项目中...
13. **Quartz调度器集成**:Spring提供了与Quartz作业调度库的集成,方便安排定时任务。 14. **国际化(i18n)**:Spring提供了对国际化消息资源的支持,使应用程序能轻松地适应多种语言环境。 15. **测试支持**:...
- 提供了对远程调用、邮件服务、任务调度、缓存等的集成支持。 6. Spring的测试: - 提供了Spring TestContext Framework,支持对Spring组件、MVC控制器及集成测试进行测试。 7. Spring的配置: - Spring提供了...
- **Namespace Handler**:允许自定义命名空间,扩展XML配置,如数据源、任务调度等。 - **Profile**:支持环境相关的配置,可以根据不同的运行环境加载不同的配置。 - **Lazy Initialization**:通过lazy-init属性...
为了确保异步任务的正确执行,我们需要关注一些关键点,如异常处理、任务调度、线程池配置等。Spring提供了`AsyncUncaughtExceptionHandler`来捕获并处理异步方法抛出的未被捕获异常。此外,通过`@EnableAsync`配置...
Spring框架则是一个全面的企业级应用开发框架,它涵盖了依赖注入、AOP(面向切面编程)、数据访问、Web应用、任务调度等多个方面。Spring3.0版本引入了大量新特性,如XML配置的替代——基于注解的配置,以及...
9. **并发支持**:Spring 3.0引入了TaskExecutor接口和ThreadPoolTaskExecutor实现,提供了异步任务执行和调度的能力,帮助开发者更好地处理并发问题。 10. **国际化与本地化**:Spring 3.0加强了对国际化和本地化...