最近由于公司人力资源部门的需要,由于公司每天的日报太多,想做一个定时的自动归档报表的功能,在我领导金导的帮助下,基本是实现了功能。下面是我自己总结的步骤:
1、 建立一个spring-task.xml(名字随便)的xml文件,配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 要干活的类-->
<bean id="autoRunArchiveDayService" class="com.ahtec.oa.service.impl.AutoRunArchiveDayServiceImpl" />
<!-- Quartz -->
<bean id="archiveDayDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="autoRunArchiveDayService" />
<!-- 类中要干活的方法archiveDay()-->
<property name="targetMethod" value="archiveDay" />
</bean>
<bean id="archiveDayTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!-- see the example of method invoking job above -->
<property name="jobDetail" ref="archiveDayDetail" />
<!-- 在服务器启动后5秒中启用方法archiveDay()-->
<property name="startDelay" value="5000" />
<!-- 每次执行方法archiveDay()的间隔时间为50秒-->
<property name="repeatInterval" value="50000" />
</bean>
<bean id="archiveDayCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="archiveDayDetail" />
<!-- cronExpression配置,请参看我的上一篇日志-->
<property name="cronExpression" value="0 0 0 ? * 6" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="archiveDayCronTrigger" />
<!--
<ref bean="archiveDayTrigger" /> -->
</list>
</property>
</bean>
</beans>
2、编写AutoRunArchiveDayServiceImpl类(这里省略),类中必须要有archiveDay() 方法。
可以在archiveDay()方法中打印 :System.out.println(i++);
3、在web.xml中增加
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-task.xml</param-value>
</context-param>
4、配置好后启动服务器,将会在控制台下面看见 打印 0 1 2 ...
分享到:
相关推荐
<groupId>org.quartz-scheduler <artifactId>quartz <version>2.3.2 <groupId>org.springframework <artifactId>spring-context-support <version>5.3.23 ``` 接下来,我们需要配置Spring的...
Spring框架是中国最流行的Java企业级应用开发框架,它由Rod Johnson在其著作《Expert One-on-One J2EE Design and Development》中首次提出。Spring的核心理念是简化Java开发,通过依赖注入(Dependency Injection,...
Spring框架是一个全面的开源Java平台,它最初由Rod Johnson编写,并首次发布于2003年。它拥有为Java企业应用提供一站式的开发框架的能力,目的是简化企业级应用的开发。Spring通过提供了一系列可以独立使用的模块化...
此外,如果你需要更复杂的任务调度,比如任务依赖、并发控制等,可以考虑使用Spring Integration或Quartz等更强大的调度库,它们提供了更多的功能和控制。 总的来说,Spring Boot的`@Scheduled`注解为开发者提供了...
<groupId>org.quartz-scheduler <artifactId>quartz <version>2.3.2 <groupId>org.springframework <artifactId>spring-context-support <version>3.2.8.RELEASE ``` **2. 配置Spring XML** 接下来,你...
Spring框架由Rod Johnson最初编写,并于2003年6月首次发布在Apache 2.0许可下。 #### 二、Spring框架的特点 - **轻量级**:Spring框架在大小和透明度方面都是轻量级的,其基本版本大约只有2MB。 - **模块化**:...
8. **集成其他框架**:Spring与众多流行框架如MyBatis、Hibernate、Quartz等有良好集成,简化了这些框架的使用。 三、Spring Boot Spring Boot是基于Spring框架的快速开发工具,它默认配置了许多常见功能,如...
除了`fixedRate`和`cron`,Spring Schedule还支持其他的调度策略,如`fixedDelay`(上一个任务执行结束后的延迟时间),以及通过`initialDelay`设置首次执行的延迟时间。这些策略可以根据实际需求灵活选择。 ### ...
Spring框架是由Rod Johnson创建,并在2003年首次发布。它旨在解决企业应用开发的复杂性问题,提供了一个分层的架构,允许开发者选择使用框架的特定部分而不必引入整个框架。 ### Spring框架概述 Spring框架是一个...
在Spring框架中,实现定时任务有两种主流方式:使用`java.util.Timer`类或集成第三方库如Quartz。这两种方法各有优势: - **Java Timer**:简单易用,适合简单的定时任务需求。 - **Quartz**:功能强大且灵活,支持...
Spring 框架提供了与 Quartz 集成的工具类,使得在 Spring 应用中使用 Quartz 变得更加简单。 #### 2.3 示例代码分析 给定文件的部分内容还展示了如何使用 Spring + Quartz 来实现定时任务: ```xml <!-- 定义要...
Spring框架是Java开发领域中最广泛使用的轻量级框架之一,自2003年首次发布以来,它极大地推动了企业级Java应用的发展。Spring的主要目标是简化Java开发,通过提供一个全面的编程和配置模型,使得开发者能够更专注于...
6. **与其他开源技术的集成**:Spring框架可以轻松集成其他流行的技术,如 Quartz 定时任务、Quartz Spring、JMS、JMX等,为开发者提供了一站式的解决方案。 在《Spring4 中文版》这份文档中,你将深入了解到如何...
- **集成其他框架**:Spring 可以无缝集成其他框架,如任务调度框架 Quartz,避免了“重复造轮子”。 #### 2. Spring 容器详解 - **2.1 Spring 容器简介** Spring 容器是 Spring 框架的核心组件之一,主要用于...
<bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> * * ?" /> <!-- 每天6点执行 --> <!-- 将 Trigger 注册到 Scheduler --> <bean class="org.springframework...
- **企业级应用集成**:Spring框架提供了与消息中间件(如ActiveMQ)、任务调度器(如Quartz)等企业级服务的集成支持。 ### 总结 “精通spring3.pdf”这本书籍深入浅出地介绍了Spring框架的相关知识,适合希望...
【描述】在"Maven+SpringMVC+SpringTask定时任务"的场景中,开发人员通常会使用Maven来管理项目的依赖,确保所有必要的库都能正确地被引入和更新。SpringMVC则负责接收用户请求,处理业务逻辑,并返回相应的视图。当...
在Spring中使用Quartz,需要引入Quartz库,配置Scheduler工厂,然后创建JobDetail和Trigger,最后通过Scheduler实例安排任务。 ```java @Configuration @EnableScheduling public class SchedulingConfig { // ...