一、基本框架
任务调度器是很多应用系统的幕后功臣,spring的任务调度器是基于对著名的quartz的封装。其基本框架是:
二、加入支持
主要是quartz-xxx.jar包,及相关的包
三、编写第一个程序
需要特别这此编写的代码并不多,只需要写工作(job)类,trigger和scheduler都由spring封装,配置一下即可。
举一个job类的例
package org.examples.mini.task;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
public class MyJob extends QuartzJobBean {
private MyService service;
public void setService(MyService service) {
this.service = service;
}
public MyService getService() {
return service;
}
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
service.doSomthing("做点什么事……");
}
}
四、配置,
applicationContext-scheduler.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:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"
default-lazy-init="true">
<description>Spring任务调度器 </description>
<bean id="myJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.examples.mini.task.MyJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="service">
<ref bean="service"/>
</entry>
</map>
</property>
</bean>
<bean id="service" class="org.examples.mini.task.MyServiceImpl"></bean>
<!-- 简单任务触发器 -->
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="myJob" />
</property>
<property name="startDelay">
<value>50000</value>
</property>
<property name="repeatInterval">
<value>10000</value>
</property>
</bean>
<bean id="cronTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJob" />
</property>
<property name="cronExpression">
<value>1 * * * * ? 2010</value><!-- 0 3 17 * * ? 2010 -->
</property>
</bean>
<bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJob" />
</property>
<property name="cronExpression">
<value>2 * * * * ? 2010</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- <ref bean="simpleTrigger" />
<ref bean="cronTrigger1" />-->
<ref bean="cronTrigger2" />
</list>
</property>
</bean>
</beans>
五、启动web应用,即可实现真实的任务调度
六、表示式
CronException完整配置格式为: [秒] [分] [小时] [日] [月] [周] [年]
可参考网络资源:http://blog.csdn.net/feiyun72/article/details/6921366
- 大小: 11 KB
分享到:
相关推荐
标题 "spring2.0学习笔记+spring定时任务" 暗示了我们即将探讨的是关于Spring框架2.0版本的学习心得以及如何在Spring中配置和使用定时任务。在这个主题下,我们将深入理解Spring的核心概念,特别是它在企业级Java...
9. Spring Boot任务调度:了解如何在Spring Boot中实现定时任务和异步任务。 10. Spring Boot集成测试:学习如何进行集成测试,包括使用JUnit和Mockito等工具。 11. Spring Boot热部署:了解热部署的原理,以及...
SpringMVC的学习则需要掌握请求处理流程,包括DispatcherServlet的调度机制,以及如何通过注解和配置文件定义控制器、模型属性和视图解析。同时,理解ModelAndView类的作用,以及如何进行模型数据的传递和视图的跳转...
这个"spring学习笔记,包括源码学习"的资料很可能包含了一系列关于Spring框架的核心概念、配置、使用方法以及深入源码的解析。 首先,让我们来了解一下Spring框架的基础知识。Spring的核心特性是依赖注入,它允许...
Spring Boot 是一个基于 Spring 框架的快速开发...这个完整的 Spring Boot 学习笔记涵盖了从基础到进阶的各个方面,通过学习和实践,你可以掌握 Spring Boot 开发的核心技能,从而高效地构建高质量的 Java 后端应用。
本资源包“spring+hibernate学习笔记和项目源代码”提供了深入理解和实践这两个框架的机会,同时也包含了Struts的集成,形成经典的SSH(Spring、Struts、Hibernate)架构。以下是关于这些主题的详细知识解析: 1. *...
更多关于Spring MVC的高级特性,如拦截器、AOP、MVC注解、数据绑定等,将在后续的学习笔记中逐步展开。参考提供的博文链接(https://starscream.iteye.com/blog/1057305)可以获取更多详细信息和实战案例。
7. **企业服务支持**:Spring.NET还支持各种企业级服务,如邮件服务、任务调度、缓存管理等,帮助开发者快速构建企业级应用。 8. **测试支持**:Spring.NET提供了单元测试和集成测试的支持,帮助开发者编写可测试的...
### Struts、Spring、Hibernate&Ajax 学习笔记总结 #### Struts 部分 **Struts** 是 Java 开源框架中最早出现且最具影响力的框架之一,它出自 Apache 组织,是 Java Web 应用开发的标准之一。Struts 以 MVC(Model...
在本篇"Spring 学习笔记二"中,我们将深入探讨Spring框架的核心概念和技术细节,以便更好地理解和使用这个广泛应用于企业级Java开发的框架。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...
以下是对Spring MVC学习笔记的详细解释: 1. **创建项目**: 创建Spring MVC项目通常从构建一个Maven工程开始。在命令行中使用Maven的`archetype:generate`命令创建一个JEE5的Web工程。在提供的例子中,使用了特定...
这个压缩包“Spring MVC学习笔记MD.7z”包含了作者在学习Spring MVC过程中的笔记、源代码以及相关文档,非常适合初学者或希望深入理解Spring MVC的开发者。 首先,`SpringMVC-Study.7z` 可能是作者整理的Spring MVC...
以上内容仅是Spring框架的冰山一角,实际上Spring有着广泛的功能,包括事务管理、缓存、消息传递、任务调度等,是现代Java开发不可或缺的重要工具。深入学习Spring,不仅可以提升个人技能,还能为解决实际开发问题...
这篇"Spring学习笔记之一“why spring”"可能探讨了为何选择Spring作为开发工具的原因,以及Spring框架的基本理念和优势。 首先,Spring是轻量级的。在Java世界中,轻量级意味着它对应用程序的侵入性较小,不会强制...
这个学习笔记的完整教程涵盖了从基础到进阶的多个主题,旨在帮助初学者快速上手并深入理解Spring Boot的核心特性。 1. **Spring Boot HelloWorld**:这是每个教程的起点,通常包括创建一个新的Spring Boot项目,...
这个学习笔记的完整教程将涵盖多个关键领域,帮助开发者深入理解和使用 Spring Boot。 1. **Spring Boot 教程** - **基础入门**:了解 Spring Boot 的核心理念,包括自动配置、起步依赖和独立运行的特性。 - **...
第四天的笔记通常会涉及Spring与其他技术的集成,例如Spring MVC,它是Spring框架用于构建Web应用的部分,讲解控制器、模型、视图和调度器的概念。此外,SSM(Spring、Spring MVC、MyBatis)集成也会被提及,这是...