1 定时任务的spring 配置文件配置
<?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:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd" default-autowire="byName" default-lazy-init="false"> <!-- 执行的任务类 --> <bean id="task" class="com.ambow.TimerTaskTest.MyTask"> <!-- <property name="myService"> <ref bean="myService" /> </property> --> </bean> <!-- 触发器 以及任务的执行规则 --> <bean id="repeatingTrigger" class="org.springframework.scheduling.timer.ScheduledTimerTask"> <!--启动一秒后执行 --> <property name="delay"> <value>4000</value> </property> <!--每隔一小时执行一次 3600000--> <property name="period"> <value>5000</value> </property> <!--注入要监控的javaBean --> <property name="timerTask"> <ref bean="task" /> </property> <!--类型是否为fixedRate型,默认为fixedDelay--> <property name="fixedRate"> <value>true</value> </property> </bean> <!-- 注册触发器 --> <bean id="scheduler" class="org.springframework.scheduling.timer.TimerFactoryBean"> <property name="scheduledTimerTasks"> <list> <ref bean="repeatingTrigger" /> </list> </property> </bean> </beans>
2 timer的任务类 注意要继承 TimerTask
import java.util.Calendar; import java.util.TimerTask; /** * 可以再这个类中加入 service 执行类中的方法 */ public class MyTask extends TimerTask { private static boolean isRunning = false; private static boolean flag = true; private static final int C_SCHEDULE_HOUR = 23;// 每天执行的时间,定为每晚11点 // private MyService // myService;//在这里加上你要用到的service,到时候和spring的controller一样注入使用即可 public void run() { System.out.println("开始执行指定任务"); // TODO 添加自定义的详细任务 try { Calendar cal = Calendar.getInstance(); if (!isRunning) { System.out.println( "定时器执行了 。。。。"); // if (C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY) && flag) { isRunning = true; //一旦有任务执行 就锁定 这个方法 // // 在这里加入相关业务,比如myService.notice(); isRunning = false; //任务执行结束就 打开执行的锁定 flag = false; // System.out.println("指定任务执行结束"); // } } else { System.out.println("上一次任务执行还未结束"); } if (C_SCHEDULE_HOUR != cal.get(Calendar.HOUR_OF_DAY)) { flag = true; } } catch (Exception e) { e.printStackTrace(); } } // public MyService getMyService() { // return myService; // } // public void setMyService(MyService myService) { // this.myService = myService; // } }
3 把配置文件配置到spring的配置文件中
相关推荐
spring 整合 quartz|| timer有几种方式? 我收集的:《spring定时Timer&Quartz》 代码示例,依赖spring2.x.jar quartz1.6.x.jar 相关介绍: http://blog.csdn.net/liu251/archive/2009/08/18/4459514.aspx
在Java世界中,任务调度是十分重要的,Spring框架提供了多种定时任务实现方式,其中包括Quartz和Timer。Quartz是一款开源的作业调度框架,而Timer是Java标准库中的一个类,用于执行定时任务。这两个工具都能帮助...
Quartz与Spring的整合主要有以下步骤: 1. 引入Quartz和Spring的依赖。 2. 配置Quartz Scheduler,包括数据源、JobStore类型等。 3. 定义Spring Bean作为Quartz Job,通过实现`org.quartz.Job`接口,并使用`@...
标题与描述均提到了“Java_Timer定时器实例_Spring实例”,这表明文章主要讨论的是如何在Java中使用Timer类创建定时任务,并将其整合到Spring框架中。以下是对该主题的详细解析: ### Java中的Timer定时器 #### ...
【Spring整合Jbpm3.2】的知识点详解 在集成Spring和Jbpm3.2时,我们依然可以借鉴之前版本的集成方式,尽管Jbpm3.2已经是较新的版本。在Jbpm3.1.x时期,Spring与Jbpm的整合主要依赖于`spring-modules-jbpm31.jar`,...
本资源"Spring整合Quartz后的简单定时任务示例"提供了如何将这两者结合使用的实例,旨在帮助开发者实现基于Spring的定时任务功能。 首先,我们要理解Spring对定时任务的支持。Spring框架通过`@Scheduled`注解提供了...
本文将详细介绍如何使用Spring整合Quartz库来创建和管理定时任务。 首先,Spring对定时任务的支持主要通过`org.springframework.scheduling`包中的接口和类实现。其中,`TaskScheduler`和`TaskExecutor`是两个核心...
【Java Timer定时器】 在Java中,`java.util.Timer` 类是用于...在实际项目中,通常会使用Spring作为核心框架,整合Struts处理前端请求,以及Hibernate进行数据持久化。这样可以构建出松耦合、易于维护的大型应用。
在Java开发中,Spring框架和Quartz库的整合是实现定时任务的常见方法。Spring提供了对Quartz的集成,使得我们可以方便地在Spring应用上下文中配置和管理定时任务。下面将详细解释如何在Spring中整合Quartz以及相关的...
提供的对AspectJ框架的整合,也是A面向切面编程。 AspectJ可用于基于普通Java对象的模块化 注意:aop 和 aspects区别: http://www.oschina.net/translate/comparative_analysis_between_spring_aop_and_aspectj。...
第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。 第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...
### 将TimerTask整合到Spring Spring并不直接支持`TimerTask`,但可以通过Spring的`TaskScheduler`接口间接使用。`TaskScheduler`允许你异步执行任务,并可以设定延迟和周期。 首先,创建一个`@Component`,实现`...
简单邮件 HTML 邮件 内嵌图片或附档 排程 Spring则对 java.util.Timer提供了抽象封装,让您可以善用Spring的容器管理功能,而Spring对Quartz进行了封装,让它在使用上更加方便。 使用 ...
【女朋友都懂的】Spring Boot 整合MyBatis-Plus Spring Boot 整合MyBatis-Plus是为了简化Spring Boot应用中的数据访问层的开发,利用MyBatis-Plus提供的强大功能,如自动化 CRUD 操作,使得开发更加高效。MyBatis-...
【Spring整合TimerTask实现定时任务调度】 定时任务在软件开发中扮演着重要角色,它们用于执行周期性的、计划性的操作,如数据备份、清理、通知等。Spring框架提供了多种方式来实现定时任务,其中之一就是整合JDK...
Spring提供了`SpringBeanJobFactory`和`org.springframework.scheduling.quartz.SchedulerFactoryBean`来方便地整合Quartz。 总结,Spring的定时器功能强大且易于使用,无论是简单的定时任务还是复杂的调度需求,都...
关于标签"springquartz jar包",这表明这些 jar 文件是专门为整合 Spring 和 Quartz 而准备的。Spring 提供了对 Quartz 的支持,使得开发者可以通过 Spring 的 XML 配置或者注解方式声明和管理 Quartz 调度器,简化...
13.4.2 Spring对JDK Timer的支持 13.5 Spring对JDK 5.0 Executor的支持 13.5.1 了解JDK 5.0的Executor 13.5.2 Spring对Executor所提供的抽象 13.6 实际应用中的任务调度 13.6.1 如何产生任务 13.6.2 任务调度对应用...
将`Timer`和`TimerTask`整合到Spring框架中,可以利用Spring的AOP(面向切面编程)和DI(依赖注入)特性,使定时任务的管理更加灵活和方便。同时,通过在`web.xml`中配置监听器或者使用Spring的`@Scheduled`注解,...