`
gaozzsoft
  • 浏览: 427026 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

SSH中Spring Quartz定时器的用法(ZT)

阅读更多

一,首先下载quartz-1.6.0.jar架包,到lib目录下

二,写你自己定时器业务方法

package com.lbnet.lzx.timing;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.scheduling.quartz.QuartzJobBean;

import com.lbnet.lzx.service.IOrderService;

public class OrderNoRefact extends QuartzJobBean{
 private static BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");
 @Override
 protected void executeInternal(JobExecutionContext arg0)
   throws JobExecutionException {
  // TODO Auto-generated method stub
 
  IOrderService orderdao=(IOrderService)factory.getBean("OrderServiceImpl");
  System.out.println("订单超时!");
  orderdao.updateOrderTimeOver();
  
  
 }
}
三。在spring文件中进行配置

配置定时任务

<bean id="SchedulerTask3" class="org.springframework.scheduling.quartz.JobDetailBean">
  <property name="jobClass">
   <value>com.lbnet.lzx.timing.OrderNoRefact</value>
  </property>
 </bean>

配置定时时间
<bean id="SchedulerTaskTrigger3" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail" ref="SchedulerTask3" />
  <property name="cronExpression">
   <value>0 0/30 0/1 * * ?</value>
  </property>
 </bean>
开启定时任务

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
   <list>
         <ref bean="SchedulerTaskTrigger3" />
  
   </list>
  </property>
 </bean>

四。一些定时参数意义

0 0/30 0/1 * * ? 代表每天每30分钟运行一次

0 0/3 0/1 * * ?  代表每天每3分钟运行一次

0 11 23 * * ?   代表每天晚上23:11运行一次

五。如果重启报异常

org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set;

请把commons-collections-2.1.1.jar,checkstytle-all.jar删掉,然后加入commons-collections.jar包就OK了

 

==============================================

 

Spring调度任务的运行时间可通过TriggerBean的属性进行配置,一般情况下不是使用SimpleTriggerBean就是使用

 

CronTriggerBean,这两个TriggerBean配置说明如下:

 

1)    SimpleTriggerBean的配置:

 

 

  <bean id="trigger.jobdetail"

 


        class="org.springframework.scheduling.quartz.SimpleTriggerBean">
        
    <property name="jobDetail">


      <ref bean="factory" />


    </property>


    <property name="startDelay">


      <!-- 10 seconds  单位是毫秒 默认是10秒钟-->


      <value>10000</value>


    </property>


    <property name="repeatInterval">


      <!-- repeat every 600 seconds  单位是毫秒  默认是10分钟-->


      <value>60000</value>


    </property>


  </bean>

 

 

定时任务所在的bean的配置

 

  <bean id="factory"


        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

 

    <property name="targetObject">


      <ref bean="dailyjob.processor" />


    </property>


    <property name="targetMethod">


      <value>process</value>


    </property>


  </bean>

 

 

 

 

2)  CronTriggerBean的配置:

 

 

这里设置每隔一分钟执行一次。SimpleTriggerBean只能指定工作执行的频率,不能指定工作执行的具体时间。

 

比方说要求在每天的晚上10点执行某个具体的工作,那么SimpleTriggerBean就不能满足了,这时需要使用另外

 

一个bean:CronTriggerBean。

 

  
    <bean id="Detail"

 

class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  

     
  <property name="targetObject"><ref bean="mainServer"/></property>    

    
  <property name="targetMethod"><value>excute</value></property>


 </bean>

 

设置触发器

 


   <bean id="HRTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">


  <property name="jobDetail"> <ref bean="Detail"/></property>


  <property name="cronExpression"> <value>0/10 * * * * ?</value>  </property> 


 </bean>

 

<!--启动触发器-->


  <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

 

    <property name="triggers">

 


      <list>

 

<!-- 添加触发器 -->


        <ref local="HRTrigger" />


      </list>


    </property>

 

  </bean>

 

 

 

 

分享到:
评论

相关推荐

    Spring Quartz 定时器示例(Web工程版)

    Spring Quartz 定时器示例(Web工程版),欢迎下载。

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...

    Spring Quartz定时器

    Spring Quartz定时器 Spring Quartz定时器 Spring Quartz定时器 Spring Quartz定时器

    Spring Quartz定时器的jar包

    Spring Quartz定时器是Java开发中常用的一个任务调度框架,它结合了Spring框架的强大功能与Quartz的灵活性,使得开发者能够方便地在应用中实现定时任务。在这个压缩包中,包含了三个核心的jar文件:`quartz-all-...

    简单实现Spring Quartz定时器

    Spring Quartz定时器是一种在Java应用中实现定时任务的流行框架,它允许开发者精确地调度任务执行。本篇文章将深入探讨如何在Spring框架中简单实现Quartz定时器,并结合源码和工具来帮助理解其工作原理。 首先,让...

    spring quartz定时器的简单配置和使用

    ### Spring Quartz 定时器的简单配置与使用 在现代软件开发中,特别是Java领域,定时任务是非常常见的需求之一。Spring框架提供了强大的功能支持来帮助开发者实现这些需求,其中Spring Quartz是一个非常流行的解决...

    Spring Quartz 定时器示例(Java工程版)

    - Spring 3.2及以上版本提供了`@Scheduled`注解,可以直接在方法上声明定时任务,简化了Quartz的使用。但这种方式不涉及Quartz的高级特性。 8. **监控和管理** - Quartz提供了Web管理界面JConsole,也可以通过API...

    spring quartz定时器支持的jar包

    在Java开发中,Spring框架是广泛使用的轻量级框架,它提供了一系列强大的功能,包括依赖注入、面向切面编程以及各种扩展支持。其中,Spring的定时任务管理是开发者经常用到的一个特性,它允许应用程序在预设的时间点...

    定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)

    本篇文章将详细讲解两种在Spring MVC框架中实现定时任务的方法:Spring MVC自带的定时器以及Quartz与Spring的集成。 首先,我们来看看Spring MVC自带的定时任务。Spring MVC作为Spring框架的一个模块,主要处理HTTP...

    Spring-quartz实现定时器(含代码)

    在Java开发中,Spring框架与Quartz库的结合使用是创建高效、可扩展的定时任务的常见方式。本文将深入探讨如何使用Spring整合Quartz来实现定时器,并提供相关代码示例。 首先,理解Spring框架。Spring是一个开源的...

    SpringQuartz定时器的配置[参照].pdf

    Quartz本身是一个功能强大的任务调度框架,而Spring通过提供一些便利的类和工具,进一步简化了在Spring环境中使用Quartz的过程。 首先,为了使用Spring Quartz,你需要引入必要的依赖。在上述例子中,至少需要`...

    SpringQuartz定时器的配置[归类].pdf

    Spring通过提供FactoryBean类和一些辅助工具,使得在Spring容器中使用Quartz变得更加简单。 首先,要在项目中引入Spring和Quartz的相关依赖,通常需要`spring.jar`以及Quartz的jar包,如`quartz-all-1.6.6.jar`。...

    spring boot集成quartz定时器

    本文将详细讲解如何在Spring Boot项目中集成Quartz定时器,以及如何利用Spring的依赖注入特性来实现Job。 一、集成Quartz定时器 1. 添加依赖:首先,你需要在Spring Boot项目的`pom.xml`或`build.gradle`文件中...

    java Spring OpenSymphony的Quartz定时器的时间设置

    在Java Spring框架中,开发者有多种选择来实现定时任务的功能,其中最为流行的两种方式分别是使用Java自带的`Timer`类以及OpenSymphony的Quartz定时器。本文将重点探讨Quartz定时器的配置与使用,尤其是其时间设置的...

    使用spring的quartz定时器要用到的jar包

    首先,要使用Spring的Quartz定时器,你需要确保引入了以下核心的jar包: 1. `quartz.jar`:这是Quartz的核心库,包含了Quartz的调度器、作业、触发器等核心组件。 2. `spring-context-support.jar`:Spring框架提供...

    spring java 定时器 执行两次 quartz

    在Spring应用中添加Quartz支持,你需要在`pom.xml`或`build.gradle`文件中引入Quartz的依赖,比如`quartz-all.jar`。接着,在Spring的配置文件(如`applicationContext.xml`)中,定义一个`SchedulerFactoryBean`来...

    quartz定时器源码jar包下载

    在实际项目中,你可以结合Spring框架集成Quartz,以简化配置和管理。 在提供的压缩包中,包含了Quartz的全套jar包,这将是你学习的宝贵资源。建议先通过官方文档或在线教程了解Quartz的基本用法,然后对照源码进行...

    spring和quartz的定时器的启动和停止例子

    本篇将深入探讨如何在Spring中启动和停止Quartz定时器。 首先,我们需要理解Spring和Quartz的基本概念。Spring是一个强大的Java企业级应用开发框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性。而...

    spring之quartz定时器

    《Spring与Quartz定时器深度解析》 在Java开发领域,Spring框架因其强大的功能和灵活性而备受推崇。其中,Spring对任务调度的支持是其一大亮点,尤其与Quartz的集成,使得开发者能够方便地实现定时任务。Quartz是一...

    spring+quartz定时器

    让我们深入探讨一下这个"spring2.0+quartz1.6定时器"的工作原理和实现细节。 首先,Spring框架是一个广泛应用的开源Java框架,它提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...

Global site tag (gtag.js) - Google Analytics