`

初次使用Spring--quartz

阅读更多
   最近由于公司人力资源部门的需要,由于公司每天的日报太多,想做一个定时的自动归档报表的功能,在我领导金导的帮助下,基本是实现了功能。下面是我自己总结的步骤:

   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 ...
5
1
分享到:
评论

相关推荐

    spring注解Quartz定时执行功能

    &lt;groupId&gt;org.quartz-scheduler &lt;artifactId&gt;quartz &lt;version&gt;2.3.2 &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-context-support &lt;version&gt;5.3.23 ``` 接下来,我们需要配置Spring的...

    spring-framework

    Spring框架是中国最流行的Java企业级应用开发框架,它由Rod Johnson在其著作《Expert One-on-One J2EE Design and Development》中首次提出。Spring的核心理念是简化Java开发,通过依赖注入(Dependency Injection,...

    1. Spring初识-核心容器.pdf

    Spring框架是一个全面的开源Java平台,它最初由Rod Johnson编写,并首次发布于2003年。它拥有为Java企业应用提供一站式的开发框架的能力,目的是简化企业级应用的开发。Spring通过提供了一系列可以独立使用的模块化...

    spring-boot-scheduled.zip

    此外,如果你需要更复杂的任务调度,比如任务依赖、并发控制等,可以考虑使用Spring Integration或Quartz等更强大的调度库,它们提供了更多的功能和控制。 总的来说,Spring Boot的`@Scheduled`注解为开发者提供了...

    spring3 配置quartz定时任务的使用

    &lt;groupId&gt;org.quartz-scheduler &lt;artifactId&gt;quartz &lt;version&gt;2.3.2 &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-context-support &lt;version&gt;3.2.8.RELEASE ``` **2. 配置Spring XML** 接下来,你...

    java-spring经典教材

    Spring框架由Rod Johnson最初编写,并于2003年6月首次发布在Apache 2.0许可下。 #### 二、Spring框架的特点 - **轻量级**:Spring框架在大小和透明度方面都是轻量级的,其基本版本大约只有2MB。 - **模块化**:...

    Spring-Java-

    8. **集成其他框架**:Spring与众多流行框架如MyBatis、Hibernate、Quartz等有良好集成,简化了这些框架的使用。 三、Spring Boot Spring Boot是基于Spring框架的快速开发工具,它默认配置了许多常见功能,如...

    spring 定时器 注解+xml 方式模板

    除了`fixedRate`和`cron`,Spring Schedule还支持其他的调度策略,如`fixedDelay`(上一个任务执行结束后的延迟时间),以及通过`initialDelay`设置首次执行的延迟时间。这些策略可以根据实际需求灵活选择。 ### ...

    传智168期JavaEE Spring 姜涛 day38~day40笔记

    Spring框架是由Rod Johnson创建,并在2003年首次发布。它旨在解决企业应用开发的复杂性问题,提供了一个分层的架构,允许开发者选择使用框架的特定部分而不必引入整个框架。 ### Spring框架概述 Spring框架是一个...

    SPRING 定时器的使用

    在Spring框架中,实现定时任务有两种主流方式:使用`java.util.Timer`类或集成第三方库如Quartz。这两种方法各有优势: - **Java Timer**:简单易用,适合简单的定时任务需求。 - **Quartz**:功能强大且灵活,支持...

    定时启动--启动按钮(spring注入)

    Spring 框架提供了与 Quartz 集成的工具类,使得在 Spring 应用中使用 Quartz 变得更加简单。 #### 2.3 示例代码分析 给定文件的部分内容还展示了如何使用 Spring + Quartz 来实现定时任务: ```xml &lt;!-- 定义要...

    01.Spring框架简介_spring_spring发展历程_

    Spring框架是Java开发领域中最广泛使用的轻量级框架之一,自2003年首次发布以来,它极大地推动了企业级Java应用的发展。Spring的主要目标是简化Java开发,通过提供一个全面的编程和配置模型,使得开发者能够更专注于...

    Spring4,中文版

    6. **与其他开源技术的集成**:Spring框架可以轻松集成其他流行的技术,如 Quartz 定时任务、Quartz Spring、JMS、JMX等,为开发者提供了一站式的解决方案。 在《Spring4 中文版》这份文档中,你将深入了解到如何...

    spring+ajax+mybatis+springmvc笔记

    - **集成其他框架**:Spring 可以无缝集成其他框架,如任务调度框架 Quartz,避免了“重复造轮子”。 #### 2. Spring 容器详解 - **2.1 Spring 容器简介** Spring 容器是 Spring 框架的核心组件之一,主要用于...

    spring定时器

    &lt;bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"&gt; * * ?" /&gt; &lt;!-- 每天6点执行 --&gt; &lt;!-- 将 Trigger 注册到 Scheduler --&gt; &lt;bean class="org.springframework...

    精通spring3.pdf

    - **企业级应用集成**:Spring框架提供了与消息中间件(如ActiveMQ)、任务调度器(如Quartz)等企业级服务的集成支持。 ### 总结 “精通spring3.pdf”这本书籍深入浅出地介绍了Spring框架的相关知识,适合希望...

    Maven+SpringMVC+SpringTask定时任务

    【描述】在"Maven+SpringMVC+SpringTask定时任务"的场景中,开发人员通常会使用Maven来管理项目的依赖,确保所有必要的库都能正确地被引入和更新。SpringMVC则负责接收用户请求,处理业务逻辑,并返回相应的视图。当...

    Spring排程(Scheduling)技术

    在Spring中使用Quartz,需要引入Quartz库,配置Scheduler工厂,然后创建JobDetail和Trigger,最后通过Scheduler实例安排任务。 ```java @Configuration @EnableScheduling public class SchedulingConfig { // ...

Global site tag (gtag.js) - Google Analytics