1. Web.xml的配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/beans-dao.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2. spring配置文件中的配置
<!-- 测试定时任务 -->
<bean id="timerJob" class="com.dayang.spring.timer.TimerTest">
<property name="programService">
<ref bean="programService"/>
</property>
</bean>
<bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="timerJob"/>
</property>
<property name="targetMethod">
<value>doJob</value>//执行任务的方法名称
</property>
<!--
<property name="concurrent" value="false"/>
-->
</bean>
<!-- 定义触发时间 -->
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="methodInvokingJobDetail"/>
</property>
<!-- 应用启动后 10 seconds -->
<!-- repeat every 60 seconds -->
<!--
<property name="startDelay">
<value>10000</value>
</property>
<property name="repeatInterval">
<value>720000</value>
</property>
-->
<property name="cronExpression">
<!-- 代表 每月2号 18点执行一次 -->
<!-- value>0 0 18 2 * ?</value-->
<!-- 测试可用 每天18时执行 每5分钟执行一次 (0/5)-->
<!-- 每一分钟执行一次 -->
<value>0 0/1 * * * ?</value>
</property>
<!-- 每天11点 27-30分 每隔一分钟执行一次 -->
<!-- property name="cronExpression" value="0 27-30 11 * * ?" /-->
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
<ref local="simpleTrigger"/>
</list>
</property>
</bean>
3. java代码
public class TimerTest {
private IProgramService programService;
private Logger log = Logger.getLogger(TimerTest.class);
public IProgramService getProgramService() {
return programService;
}
public void setProgramService(IProgramService programService) {
this.programService = programService;
}
public void doJob(){
log.debug("********* Begin do my job *********");
Date d =new Date();
//Long count = this.programService.countAll();
//System.out.println("Programs number is ["+count+"] time ["+d.toString()+"]");
System.out.println(d.toString());
log.debug("********* End do my job *********");
}
}
4.解决定时任务重复执行的问题
http://blog.csdn.net/chaijunkun/article/details/6925889
附件是quartz的jar包
分享到:
相关推荐
spring定时任务SimpleTrigger 和CronTrigger 配置
本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...
Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置
在非Web项目中实现Spring定时任务,主要步骤如下: 1. **配置Spring Task**:在Spring的配置文件(如`applicationContext.xml`或使用Java配置类)中,我们需要启用任务调度功能并配置相应的执行器或调度器。例如,...
这时,我们可以将定时任务配置移到数据库中,通过读取数据库中的定时规则来动态执行任务。首先,我们需要创建一个数据库表来存储这些规则,如`job_config`,包含字段`id`、`task_name`、`cron_expression`等。 接着...
Spring框架提供了多种方式来实现定时任务,...推荐使用Spring Task,因为它简化了配置,降低了学习成本,同时仍然能满足大部分定时任务的需求。当然,如果需要高度定制和复杂的时间调度,Quartz仍然是一个强大的选择。
2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...
在Spring Boot应用中,动态配置定时任务是提升系统灵活性和可维护性的重要手段。Spring Boot集成了Spring Framework的TaskExecution和TaskScheduling模块,使得我们可以方便地创建和管理定时任务。本文将深入探讨...
4. 从数据库加载定时任务配置并更新到Spring Boot的配置中。 5. 在业务逻辑类中使用`@Scheduled`注解来定义定时任务,并根据数据库配置动态调整执行频率。 通过这种方式,我们可以灵活地管理和调整应用中的定时任务...
在Spring框架中,定时任务是实现系统自动化运行关键任务的重要工具。Spring提供了多种方式来创建和管理定时任务,...在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时任务的理解。
在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...
Spring 定时任务ApplicationContext.xml配置
本文档详细介绍了Spring定时任务配置的两种方式。一种方式是使用Spring提供的 MethodInvokingJobDetailFactoryBean 代理类,Quartz通过该代理类直接调度任务类的某个函数,另外一种方式是任务类继承并实现Quartz接口...
Spring 定时任务配置详解 Spring 框架提供了对定时调度服务的内置支持类,支持从 JDK 1.3 开始内置的 Timer 类和 Quartz Scheduler。开发者可以通过 FactoryBean,分别指向 Timer 或 Trigger 实例的引用进行配置。...
结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...
本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...
### Spring 定时任务配置详解 #### 一、Spring 定时任务简介 Spring 框架提供了强大的任务调度功能,使得开发者能够轻松地在应用中实现定时任务。本篇文章将详细探讨如何在 Spring 中配置定时任务,并通过具体的...
一、Spring定时任务简介 Spring框架的定时任务功能主要依赖于`Spring Task`模块,也称为Spring的后台任务处理。它提供了基于`@Scheduled`注解和`TaskScheduler`接口的两种定时任务实现方式。`@Scheduled`适用于简单...
在实际开发中,将这些jar包添加到项目的类路径中,就可以开始编写和配置Spring定时任务了。通常,我们会在配置类中使用`@EnableScheduling`注解来开启定时任务,然后通过`@Scheduled`注解来定义具体的任务及其执行...