引用
步骤一:先写一个类,继承QuartzJobBean类,并重写executeInternal(JobExecutionContext arg0)方法
public class QueryAndUpdateData extends QuartzJobBean{
private ChannelQueryService channelQueryService;
//....
@Override
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException {
//重写方法 定时实现的内容
}
}
引用
步骤二:写spring配置文件
<!-- 第一步 声明一个定时任务,注意不是直接声明,而是声明一个JobDetailBean,通过jobClass属性设置一个定时对象 -->
<bean id="quartzClock"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass"> <value>com.cm.task.action.QueryAndUpdateData</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="channelTaskService">
<ref bean="channelTaskService" />
</entry>
</map>
</property>
</bean>
<!-- 第二步 调度定时任务 -->
<bean id="quartzClockTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="quartzClock"/>
</property>
<property name="startDelay">
<!-- 这里是服务启动后延时多少时间,开始计时任务,单位ms -->
<value>5000</value>
</property>
<property name="repeatInterval">
<!-- 这里是每隔多长时间就进行一次计时任务,单位ms -->
<value>5000</value>
</property>
</bean>
<bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="quartzClock"></ref>
</property>
<property name="cronExpression">
<value>0 27 16 1 * ?</value>
</property>
</bean>
<!-- 0 0 0 1 * ?
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 每个工作日的工作时间
-->
<!--第三步 启动定时任务,注意这里的ref bean -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronQuartzClock"></ref>
</list>
</property>
</bean>
所需要的jar包:
spring.jar;quartz-all-1.6.0.jar;commons-collections.jar;可能还要commons-*.jar
分享到:
相关推荐
Spring框架提供了多种方式来实现定时任务,这使得开发者可以在不同场景下选择最适合的方案。本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 ...
在非Web项目中实现Spring定时任务,主要步骤如下: 1. **配置Spring Task**:在Spring的配置文件(如`applicationContext.xml`或使用Java配置类)中,我们需要启用任务调度功能并配置相应的执行器或调度器。例如,...
Spring定时任务的几种实现,欢迎交流!
本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...
Spring定时任务实现与配置(一) 本文主要介绍了Spring定时任务的实现与配置,涵盖了基本概念、依赖管理、配置文件设置、Quartz配置、Job配置等方面的知识点。 Spring定时任务的基本概念 在Spring中,定时任务是...
通过阅读和理解这些源码,你可以更好地了解Spring如何管理和调度定时任务,以及如何根据项目需求选择合适的定时任务实现方式。在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时...
在Spring框架中,有三种主要的定时任务机制可供开发者选择,分别是基于Quartz的定时机制、Spring自己的`@Scheduled`注解以及...在实际开发中,可以根据项目规模、性能需求和团队熟悉度来决定最适合的定时任务实现方式。
以上每个jar包都是Spring定时任务实现中的关键组件,确保它们在类路径中正确配置,能帮助开发者轻松地创建、管理和调度任务。在实际项目中,除了这些核心库,还可能需要根据具体需求添加其他依赖,如数据库驱动、...
2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...
Spring定时任务支持更多的功能,比如任务执行的并发控制、任务执行的监听器、以及使用Quartz等第三方调度库进行更复杂的任务调度。 总结,Spring定时任务为开发者提供了方便的API和注解,使我们可以轻松地在Java...
Spring定时任务基于`@Scheduled`注解和`TaskScheduler`接口实现。`@Scheduled`用于标注需要定时执行的方法,而`TaskScheduler`则提供了更灵活的定时任务调度方式。 2. **启用定时任务** 要使用Spring定时任务,...
一、Spring定时任务简介 Spring框架的定时任务功能主要依赖于`Spring Task`模块,也称为Spring的后台任务处理。它提供了基于`@Scheduled`注解和`TaskScheduler`接口的两种定时任务实现方式。`@Scheduled`适用于简单...
Spring定时任务实现与配置(二) 在本文中,我们将详细介绍Spring定时任务的实现与配置的第二篇,主要讨论如何在Spring项目中实现简单的定时任务。 首先,我们需要在Maven项目的pom文件中添加两个依赖项:spring-...
Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...
#### 二、Spring定时任务实现方式 Spring支持多种定时任务实现方式,包括但不限于: 1. **基于Spring的`@Scheduled`注解** 2. **基于Quartz** 3. **基于Java定时器(Timer)** 本文主要介绍的是基于Quartz的定时...
结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...
总结来说,选择Spring定时任务实现方式时,可以考虑以下几点: 1. 如果任务需求简单,且不需复杂的调度逻辑,可以优先考虑Spring Task,因为它更加轻便,易于集成。 2. 当任务需要复杂的调度策略,或者需要跨应用...
下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...
在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...
在Spring框架中,定时任务是一项重要的功能,它允许开发者在特定的时间间隔内执行特定的任务,无需手动触发。这个实例是关于如何在Spring中配置和使用定时任务,同时结合MyBatis来向数据库插入数据。接下来,我们将...