applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-[size=large]instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="mesBean" class="cn.xg.spring.Message" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="title">
<value>标题</value>
</property>
</bean>
<!-- spring定时器 -->
<!-- 方法一 -->
<!-- 第一步 声明一个定时任务,该类extends java.util.TimerTask -->
<bean id="clock" class="cn.xg.spring.Clock"></bean>
<!-- 第二步 调度定时任务,把声明的定时任务注入进来,并设置定时参数 -->
<bean id="scheduledClock" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask">
<ref bean="clock"></ref>
</property>
<property name="period">
<value>5000</value>
<!--这里是每隔多长时间就进行一次计时任务,单位ms-->
</property>
<property name="delay">
<value>5000</value>
<!--这里是服务启动后延时多少时间,开始计时任务,单位ms-->
</property>
</bean>
<!-- 启动定时任务,如果有多个定时任务,则重复步骤一,二,然后把第二步设置的beany放在下面的list列表中.此方法不能精确几点运行定时任务 -->
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduledClock"></ref>
</list>
</property>
</bean>
<!-- 方法二 -->
<!-- 第一步 声明一个定时任务,注意不是直接声明,而是声明一个JobDetailBean,通过jobClass属性设置一个定时对象 -->
<bean id="quartzClock" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>cn.xg.spring.QuartzClock</value>
</property>
</bean>
<!-- 第二步 调度定时任务 -->
<!--这种配置与第一种方法效果一样
<bean id="quartzClockTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="quartzClock"/>
</property>
<property name="startDelay">
<value>6000</value>
这里是服务启动后延时多少时间,开始计时任务,单位ms
</property>
<property name="repeatInterval">
<value>6000</value>
这里是每隔多长时间就进行一次计时任务,单位ms
</property>
</bean>
-->
<!-- 这种配置可以精确几点执行定时任务 -->
<bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="quartzClock"></ref>
</property>
<property name="cronExpression">
<value>0 52 22 * * ?</value><!--定时在任何月份任何日期(不管星期几)的22点52分0秒 -->
<!-- 一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下:
1.秒(0-59)
2.分钟(0-59)
3.小时(0-23)
4.月份中的是期(1-31)
5.月份(1-12或SUN-DEC)
6.星期中的日期(1-7或SUN-SAT)
7.年份(1970-2099)
例子:
0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点
0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟
30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时
0 0 8-5 ? * MON-FRI 每个工作日的工作时间
- 区间
* 通配符
? 你不想设置那个字段
-->
</property>
</bean>
<!--第三步 启动定时任务,注意这里的ref bean -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronQuartzClock"></ref>
</list>
</property>
</bean>
</beans> [/size]
分享到:
相关推荐
这个"Spring定时调度简单实现源码"很显然是一个关于如何在Spring中配置和使用定时任务的示例代码包。下面我们将深入探讨Spring的定时调度机制以及其核心组件。 Spring的定时任务调度主要依赖于两个关键组件:`Task...
在IT行业中,Spring框架是Java领域的一个重要组成部分,它提供了丰富的功能,其中之一就是定时调度。Spring的定时调度功能使得开发者能够方便地实现周期性任务,无需深入理解底层复杂的定时器机制。下面,我们将深入...
在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Spring的定时调度功能则为企业级应用提供了强大的任务调度能力。本篇将详细探讨Spring如何集成Quartz库来实现定时任务,以及Quartz的基本概念、核心...
Spring Quartz 定时调度是Java应用中广泛使用的任务调度框架,它允许开发者在Spring应用程序上下文中定义和管理定时任务。这个jar包包含了Spring与Quartz的整合,使得开发者能够利用Quartz的强大功能,同时享受...
在Spring框架中,动态定时调度任务是一个非常实用的功能,它允许根据用户的选择或者系统的实时需求来灵活地调整任务的执行时间。Spring提供了多种方式来实现这一功能,其中Quartz是一个常用的第三方库,它是一个强大...
通过合理配置和设计,我们可以轻松地在Spring应用中实现定时调度和定时器功能,提高系统的自动化程度和工作效率。在实际项目中,根据业务需求选择合适的方式来实现定时任务,能够极大地优化系统性能和用户体验。
本文将详细介绍如何利用Spring进行时间调度配置,包括基本配置、定时任务实现以及Cron表达式的使用。 ### 一、Spring时间调度简介 Spring框架内置了多种任务调度的支持方式,其中最常用的是基于`org.spring...
Spring 定时器 任务调度 怎么在项目中写定时任务 怎么配置一些环境
本篇文章将探讨如何在Spring中实现定时调度,并将调度信息持久化到数据库中,这在实际业务场景中非常重要,因为能够确保任务的稳定性和可管理性。 首先,我们需要理解Spring的定时任务调度机制。Spring提供了`@...
在本文中,我们将探讨Spring中的两种主要方法:使用Spring Task(也称为Spring的定时调度任务)和集成Quartz组件。 1. **Spring Task(Spring内置定时任务)** Spring Task是Spring框架内置的轻量级定时任务解决...
Spring的任务调度模块使得开发者能够在应用中轻松地定义和执行定时任务,极大地提高了代码的可维护性和灵活性。 标题"Spring 任务调度"涵盖了Spring框架中的两个主要组件:Spring Task和Quartz Scheduler。Spring ...
Spring 框架提供了对定时调度服务的内置支持类,支持从 JDK 1.3 开始内置的 Timer 类和 Quartz Scheduler。开发者可以通过 FactoryBean,分别指向 Timer 或 Trigger 实例的引用进行配置。同时,Spring 还包含有用于...
总结来说,Spring的定时任务配置涉及引入相关依赖、开启任务调度、定义任务方法并使用`@Scheduled`注解进行定时设置。通过这种方式,开发者可以轻松地在Spring应用中实现定时任务,提高系统自动化程度和效率。
总结起来,Spring动态配置定时任务的关键在于:1) 使用`@Scheduled`或`TaskScheduler`来调度任务;2) 将定时任务配置存储在数据库中,以便于管理和动态更新;3) 设计服务类以响应数据库的变更,及时调整任务的执行...
### Spring 定时任务配置详解 #### 一、Spring 定时任务简介 Spring 框架提供了强大的任务调度功能,使得开发者能够轻松地在应用中实现定时任务。本篇文章将详细探讨如何在 Spring 中配置定时任务,并通过具体的...
`TaskExecution`和`TaskScheduling`是Spring框架的基础任务调度API,它们允许开发者创建和执行简单的定时任务。`TaskExecution`接口提供了任务执行的核心功能,如启动、停止和查询任务状态,而`TaskScheduling`接口...
Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...
在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...
给定的压缩包可能包含了一个关于如何配置、使用和测试Spring定时任务的文档。这个文档应该详细介绍了每个步骤,包括如何在Spring环境中注册和启动定时任务,如何编写带有`@Scheduled`注解的方法,以及如何编写测试...
测试类`TestApp`中,通过加载XML配置文件,初始化Spring应用上下文,从而启动定时任务。 2. 基于Quartz的定时任务: Quartz是一个功能强大的、开源的作业调度库,它可以与JDBC存储或其他持久化策略进行集成,支持更...