`

spring中的定时任务

阅读更多

我们在做项目的过程当中通常会遇到定时任务的概念:(定义某一个时刻让它去执行一个功能--自动备份数据库等等)。

下面我们就来看看spring中的定时任务是如何来工作的。首先先看它的一个配置文件:application-scheduler.xml.

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
<beans>
 <bean id="quartzService" class="com.tks.service.QuartzService">
  
 </bean>
 <bean id="reportJbo"
  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject">
   <ref bean="quartzService" />
  </property>
  <property name="targetMethod">
   <value>start</value>                       ------action当中要执行的方法------
  </property>
  <property name="concurrent" value="false" />
 </bean>
 <bean id="cronReportTrigger"
  class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
   <ref bean="reportJbo" />
  </property>
  <property name="cronExpression">
   <value>0 0/1 * * * ?</value>        ----每隔多长的时间来执行一个任务---
  </property>
 </bean>
 <bean id="start"
  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
   <list>
    <ref bean="cronReportTrigger" />
   </list>
  </property>
 </bean>
</beans>

 

 

我在QuartzService类中有一个方法为start()

 

public String start() {

   System.out.println("执行了");

}

 

说明:这个 start方法就是spring要定时执行的方法了。大家可以根据自己的业务来实行相应的内容。

 

web.xml当中配置

我的application-scheduler.xml是放在WEB-INF下面。

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/application-scheduler.xml
         
        </param-value>
    </context-param>

大家用的时候可以直接把代码复制过去名字一改就可以用了!希望对大家有所帮助。

 

 

 

(2):顺便看看timer的用法了。

如果要在程序中定时执行任务,可以使用java.util.Timer这个类实现。使用Timer类需要一个继承了java.util.TimerTask的类。TimerTask是一个虚类,需要实现它的run方法,实际上是他implements了Runnable接口,而把run方法留给子类实现;下面看一个例子:

package com.sy.game.test;

import java.util.Timer;
import java.util.TimerTask;

public class TimeTask {   
   
    
public static void main(String[] args) { 
        TimeTask tTask
=new TimeTask();
        tTask.timeVoid();
    }
    
    
public void timeVoid(){
        
final Timer timer = new Timer();
        TimerTask tt
=new TimerTask() { 
            @Override
            
public void run() {
                System.out.println(
"到点啦!");
                timer.cancel();
            }
        };
        timer.schedule(tt, 
3000);
    }
}

分享到:
评论
1 楼 cnlw1985 2009-06-05  
我按照你的方法,Tomcat启动的时候 一直报:
java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set;
错误,
需要的.jar文件都加上了呀

相关推荐

    Spring中定时任务

    结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...

    spring中定时任务管理.docx

    在Spring定时任务的实现中,有几个关键的类起着重要作用: 1. `ScheduledAnnotationBeanPostProcessor`:这是一个Bean后处理器,用于处理`@Scheduled`注解,解析定时任务的配置,并将其注册到调度器中。 2. `...

    spring的定时任务的配置

    本篇文章将详细探讨如何在 Spring 中配置定时任务,并通过具体的示例代码进行说明。 #### 二、Spring 定时任务配置原理 在 Spring 中,定时任务主要依赖于 Quartz 这个成熟的任务调度框架。Quartz 提供了丰富的 ...

    Spring定时任务中使用ThreadLocal的坑

    NULL 博文链接:https://bijian1013.iteye.com/blog/2380233

    Spring3.0定时任务简单实例web工程

    在Spring框架中,定时任务是实现自动化操作的重要手段,它允许开发者在特定的时间间隔执行特定的任务,例如数据清理、报表生成等。在本实例中,我们关注的是Spring 3.0版本中的定时任务功能,这是一个基于Web工程的...

    spring自带定时任务程序

    给定的压缩包可能包含了一个关于如何配置、使用和测试Spring定时任务的文档。这个文档应该详细介绍了每个步骤,包括如何在Spring环境中注册和启动定时任务,如何编写带有`@Scheduled`注解的方法,以及如何编写测试...

    spring xml 定时任务

    在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...

    Spring定时任务管理

    Spring定时任务的几种实现,欢迎交流!

    Spring 定时任务源码(spring 三种定时任务的实现方式)

    在Spring框架中,定时任务是实现系统自动化运行关键任务的重要工具。Spring提供了多种方式来创建和管理定时任务,...在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时任务的理解。

    spring boot定时任务接收邮件并且存储附件的方法讲解

    在 Spring Boot 中实现定时任务非常简单,只需要使用两个注解:`@EnableScheduling` 和 `@Scheduled`。在启动类中添加 `@EnableScheduling` 注解,然后在需要定时的方法上添加 `@Scheduled` 注解,并指定 cron ...

    spring定时任务关键jar包(齐全)

    本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...

    Spring定时任务实现(非Web项目)

    在非Web项目中实现Spring定时任务,主要步骤如下: 1. **配置Spring Task**:在Spring的配置文件(如`applicationContext.xml`或使用Java配置类)中,我们需要启用任务调度功能并配置相应的执行器或调度器。例如,...

    spring动态分配定时任务

    2.通过Spring是JAR-quartz写的一个定时任务 1)普通的定时任务,定时完成指定的任务 2)通过前台动态分配定时任务 可指定多个任务,可同时执行任务,可以精确到时分秒扫描并执行任务 3)可以完成稍微复杂点的任务 ...

    Spring配置定时任务

    在Spring框架中,定时任务是通过Spring的Task模块来实现的,这允许我们在应用程序中创建和管理定时任务,而无需依赖外部的调度器如Quartz或Cron。本例主要探讨如何在Spring中配置和执行定时任务。 首先,我们要引入...

    spring定时任务实现

    本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 首先,Java的`java.util.Timer`是一个基础的定时任务工具,它可以按照设定的频率执行任务,但...

    spring执行定时任务的规则

    在Spring框架中,实现定时任务主要依赖于Spring的集成模块Spring Integration或通过集成第三方库如Quartz来完成。本文将重点介绍如何利用Spring框架结合表达式规则来配置和执行定时任务,这些规则与Linux中的crontab...

    spring定时任务所需jar

    `spring-tx.jar`使得我们可以在定时任务中优雅地处理事务。 另外,`spring-aop.jar`对于使用基于AOP的方式来定义和执行定时任务是必须的。AOP允许我们在不修改原有代码的情况下,通过切面来增强功能,例如记录日志...

    spring定时任务依赖的jar包

    2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...

    Spring定时调度简单实现源码

    这个"Spring定时调度简单实现源码"很显然是一个关于如何在Spring中配置和使用定时任务的示例代码包。下面我们将深入探讨Spring的定时调度机制以及其核心组件。 Spring的定时任务调度主要依赖于两个关键组件:`Task...

Global site tag (gtag.js) - Google Analytics