Spring与Quartz实现定期任务

<!--
任务调度测试实现一 :
自定义的任务对象com.bocloud.equipment.test.ExampleJob
必须继承QuartzJobBean类,实现抽象方法executeInternal
每次执行任务时,都会新创建一个任务对象.
-->
<bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
    <!--
	属性jobClass不能通过ref来指定为exampleJob对象,该属性接收的是Class类型的参数
	进行任务调度时,每次都是一个新的jobClass对象去执行executeInternal方法
    -->
    <property name="jobClass" value="com.bocloud.equipment.test.ComputerInfoGatherJob" />
</bean>

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="myJobDetail" />
    <property name="cronExpression" value="0/10 * * * * ?" />
</bean>

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

  

<!--
任务调试实现测试二 :
属性targetObject:指定执行任务的对象
属性targetMethod:指定执行任务的方法,该方法必须是无参方法
-->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="computerService" />
    <property name="targetMethod" value="list" />
</bean>

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="jobDetail" />
    <property name="cronExpression" value="0/10 * * * * ?" />
</bean>

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

转载至:http://my.oschina.net/lhplj/blog/213773

一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年;其中年不是必须的,也就是说任何一个表达式最少需要六项! 
例:0 0 12 ? * WED 表示每个星期三的12点执行,这里没有“年”这项!

字段名(项)  必须  值范围  特殊字符 
秒 是 0-59  , - * /  
分 是 0-59  , - * /  
时 是 0-23  , - * /  
月的某天  是 1-31  , - * ? / L W  
月 是 1-12 or JAN-DEC  , - * /  
星期的某天 是 1-7 or SUN-SAT  , - * ? / L #  
年 否 empty, 1970-2099  , - * /

时间: 2024-12-29 07:08:04

Spring与Quartz实现定期任务的相关文章

spring集成quartz

spring集成quartz 注意:出现异常"Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class" Spring3.0不支持Quartz2.0,因为org.quartz.CronTrigger在2.0从class变成

spring整合quartz

Quartz 介绍 Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to

Spring整合quartz框架实现任务定时调度

1.  首先需要引入需要的jar包,如上图所示. 2. 编写需要定时调度的测试类: package com.jp.task; import java.util.Date; public class TestTask{ private static int counter = 0; protected void execute() { long ms = System.currentTimeMillis(); System.out.println("\t\t" + "=====

Spring整合Quartz实现定时任务调度

一. 核心类 1. Job: 表示一个工作, 具体的业务处理都在这里. 2. JobDetail: 表示一个具体的可执行的调度程序. 3. Trigger: 用于调度参数的配置(什么时候去调用Job). 4. Scheduler: 表示一个调度容器, 容器中有一个线程池, 用来并行调度执行每个作业, 一个调度容器中可以注册多个JobDetail和Trigger. 二. 整合spring 1. 代码结构图: 2. applicationContext.xml <?xml version="1

Spring整合Quartz实现持久化、动态设定时间

一.spring整合 网上一搜有很多整合的方式,这里我采用了其中的一种(暂时还没有对其他的方法研究过). 对于spring的整合其中的任务,spring提供了几个类.接口(这些类都实现了Job接口): org.springframework.scheduling.quartz.QuartzJobBean org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean.MethodInvokingJob org.sp

spring整合quartz并持久化

spring整合quartz有两种方式: 一.常见是使用配置文件,将定时任务保存到内存中 简单示例: <!-- 短信催还提醒任务调度 --> <bean id="overdueRecall" class="com.sursen.souba.ddlibserve.quartz.OverdueRecallTimerTask" /> <!--定义定时执行overdueRecallTimerTask 这个bean中的overdueRecall(

Spring整合Quartz定时发送邮件

功能描述:刚开始接触Quartz,试着用Quartz整合spring实现每隔一分钟发送一封邮件连续发送10次 核心jar: 邮件发送:commons-email-1.2.jar mail.jar(必须的) quartz:quartz-all-1.8.3.jar quartz-all-1.8.3/lib/下所有jar spring:spring-context-support.ajr(必须的) 只贴出核心代码: Email发送:使用apache commons-email跟mail package

Spring.Scheduling.Quartz的使用

最近因使用Spring.Net框架而接触.了解到其与Quartz.Net的集成,即Spring.Scheduling.Quartz模块. Spring通过对Quartz.Net的封装,采用了spring核心注入思路,给我们提供更为简单.便利的使用方式.当然直接使用Quartz.Net也是可以的. 在使用的过程中Spring.Net版本为1.3.2,而该版本的Spring.Scheduling.Quartz只支持Quartz.Net(1.0.3版),无法支持Quartz.Net(>=2.0.1版)

快速入門系列-spring和quartz

檔案說明 pom.xml - maven設定 Main.class 主程式 StoreOrderSyncTask.class - 一個需要固定執行的Task,裡面只有一個方法 Spring-Quartz.xml - 設定要固定執行的Task,和執行的時間 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan