`

Spring 定时操作

阅读更多
在spring中你有时候需要在每天或者指定的一个时候进行一系列的操作。这个时候我们的spring为我们提供了一个很好的包来解决这个问题,你这是需要写一个Class文件,在文件中定义你要执行操作的函数你就可以通过配置来达到定时操作了。
1)需要的jar包为:quartz.jar包,将他加到你工程的classpath中去。
2)在applicationContext中配置你的定时发送操作。
(1)下边定义的这个testQuarz就是我们要将我们的定时操作函数TestDoIt()所要放置的地方。就是说TestDoIt()这个方法是TestQuarz这个类中的一个函数。这里声明一下这个bean。就是将这个bean注入到我们的容器中。这个时候我们可以在这个bean中引用容器中其他的bean进行数据库操作。是不是很酷?
代码:
<bean id="testQuarz" class="cn.demo.test.util.TestQuarz"/>
(2)下边的这个bean是我们定义要使用哪个bean中的哪个方法作为我们要定时执行的任务。这里定义了我们要使用testQuarz这个bean中的TestDoIt()这个函数作为我们要定时执行的任务。
代码:
 <bean id="quartzDetail"
  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject">
   <ref bean="testQuarz"/>
  </property>
  <property name="targetMethod">
   <value>TestDoIt</value>
  </property>
 </bean>
(3)这是一个触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是quartzDetail,并且我们还定义了触发的时间。
代码:
 <bean id="quartzTrigger"
  class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
   <ref bean="quartzDetail"/>
  </property>
  <property name="cronExpression">


<!-- 每天凌晨1点7分18妙运行定时任务,时间的设置请看下边
更多的配置例子请查看:http://wiki.opensymphony.com/display/QRTZ1/CronTriggers+Tutorial
-->
代码:
   <value>18 7 1 * * ?</value>
   
  </property>
 </bean>

<!-- 一定要把autowire设置为no,否则它能感知出dataSourse并设置里面的dataSourse的属性-->
(4)下边的是我们管理这些触发器的总设置,他管理我们我们的触发器列表。据说他的内部是自己建立了自己的数据库来存放自己的临时表,因为我们在我们的配置文件中自动的配置了dataSource这个bean,我们的每一个bean都会在使用数据库的时候找到他,但是如果我们下边的这个管理bean知道的话就会把他当成自己的临时数据库,然后就会出错。所以我们需要将下边的数据库感知设置成否定。这样就不影响他内部实现了。我们可以在下边的bean的list中放置多个触发器。
代码:
 <bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
      <property name="triggers">
      <list>
        <ref local="quartzTrigger"/>
      </list>
     </property>
   </bean>

到此,我们的定时发送设置就完成了,具体的还要看看spring的refence比较好,那些比较细的细节东东我没有涉及到。
分享到:
评论
2 楼 mht19840918 2008-03-28  
为了少走弯路,买本书吧。
1 楼 wxxczq 2008-02-28  
高手 我现在迫切要掌握 Spring 的技术 包括SpringWebflow  Spring MVC  还有那个安全 结构  以及报表的东东   有资料了 给点 看看  wxxczq@163.com 晚辈谢过

相关推荐

    spring定时任务依赖的jar包

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

    spring定时任务实例

    在Spring框架中,定时任务是一项重要的功能,它允许开发者在特定的时间间隔内执行特定的任务,无需手动触发。这个实例是关于如何在Spring中配置和使用定时任务,同时结合MyBatis来向数据库插入数据。接下来,我们将...

    Spring中定时任务

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

    spring2.0学习笔记+spring定时任务

    标题 "spring2.0学习笔记+spring定时任务" 暗示了我们即将探讨的是关于Spring框架2.0版本的学习心得以及如何在Spring中配置和使用定时任务。在这个主题下,我们将深入理解Spring的核心概念,特别是它在企业级Java...

    Spring定时任务(Web项目)

    一、Spring定时任务简介 Spring框架的定时任务功能主要依赖于`Spring Task`模块,也称为Spring的后台任务处理。它提供了基于`@Scheduled`注解和`TaskScheduler`接口的两种定时任务实现方式。`@Scheduled`适用于简单...

    spring定时任务所需jar

    下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...

    两种方式通过spring实现定时执行任务操作

    在Spring框架中,定时任务是应用开发中常见需求,例如数据清理、日志备份或定期发送邮件等。本文将详细讲解两种通过Spring实现定时任务的方法:Spring的`TimerTask`和`Spring Batch`的`Tasklet`。我们将涵盖这两种...

    spring定时任务

    在Spring框架中,定时任务是实现自动化操作的重要功能,它允许开发者在特定时间点或按照预设周期执行任务。Spring提供了两种主要的方式来配置定时任务:基于XML和基于Java-config的配置方式。 首先,我们来详细了解...

    Spring定时任务@Scheduled例子

    在Spring框架中,定时任务是实现自动化...以上就是关于Spring定时任务`@Scheduled`的例子,包括其工作原理、配置以及在实际项目中的应用。理解并熟练运用这些知识,能够帮助我们构建更加高效、自动化的Spring应用程序。

    spring动态配置定时任务

    在Java Spring框架中,动态配置定时任务是一项非常实用的功能,它允许我们根据需求灵活地更改或添加定时任务,而无需每次改动都重启应用。本文将深入探讨如何在Spring中实现这种动态配置,以及如何结合数据库来管理...

    spring定时发送邮件

    这涉及到Spring的两大模块:Spring Task(Spring的定时任务模块)和Spring Mail(用于发送邮件的模块)。 首先,让我们深入了解一下Spring Task。Spring Task,也被称为Spring的调度器,提供了一种在应用中添加定时...

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

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

    spring中邮件及定时任务

    Spring还提供了`@Async`注解来实现异步任务,这在处理耗时操作时非常有用。当一个方法被`@Async`标记后,它将在单独的线程中执行,不会阻塞调用者的执行流程。结合定时任务,可以创建异步定时任务,提高系统的并发...

    Spring定时任务(多个实例)

    在Spring框架中,定时任务是实现自动化操作的重要手段,它允许开发者在特定时间点执行特定的任务,例如数据清理、报表生成等。本篇文章将详细探讨Spring中的定时...希望这些知识对您在实现Spring定时任务时有所帮助。

    定时任务spring3.0

    Spring 3.0版本引入了对定时任务的支持,这是一个非常实用的功能,可以帮助开发者实现定期执行的任务,如数据同步、报表生成等。本文将深入探讨Spring 3.0中的定时任务实现,并结合Quartz库来进一步扩展定时任务的...

    spring+quartz定时小例子

    在 "spring+quartz定时小例子" 中,我们主要关注的是如何将这两个框架结合使用,创建一个可以执行定时任务的应用。这个例子包含了相关的框架包和文档,帮助开发者理解并实践这一整合过程。 1. **Spring 配置**: ...

    spring+quartz动态定时任务创建 +mybatis

    Spring作为一个全面的轻量级容器,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,而MyBatis则是一个优秀的持久层框架,简化了数据库操作。当结合Quartz,一个强大的任务调度库,我们可以...

    spring定时任务必须要的10个jar包.zip

    下面,我们将深入探讨Spring定时任务相关的知识点,以及为什么这10个jar包对实现Spring定时任务至关重要。 1. **Spring Task**:Spring Task是Spring框架的一个子模块,它为开发者提供了创建后台任务和调度任务的...

    利用Spring定时发送email

    这个"利用Spring定时发送email"的项目,包含了完整的jar包并经过测试,确保了功能的可行性。下面我们将深入探讨如何在Spring中设置定时发送电子邮件以及相关的关键知识点。 首先,我们需要在Spring的配置文件中启用...

    Spring3.2.6定时任务+线程池.docx

    除了线程池的配置外,还需要配置定时任务来定期执行指定的操作。以下是定时任务的具体配置: ```xml &lt;bean id="springScheduleExecutorTask" class="org.springframework.scheduling.concurrent....

Global site tag (gtag.js) - Google Analytics