Java Spring-Spring与Quartz整合

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错
关于spring mvc、mybatis、maven的整合,请看这篇文章

Quartz是一个强大的可以在web端执行定时任务的jar包。

本篇文章分为两大不同配置,第一位xml配置,第二位注解配置

—–下面是xml配置篇—–

1. 配置

在spring-mvc.xml文件中

下面有两种配置方式,第一种是SimpleTigger(注释),第二种是CronTiggerBean

<!– 定時任務開始–>
    <beanname=”job1″ class=”org.springframework.scheduling.quartz.JobDetailBean”> 
        <propertyname=”jobClass” value=”com.cjt.quartz.Job1″ /> 
        <propertyname=”jobDataAsMap”> 
        <map> 
            <entrykey=”timeout” value=”5″ /> 
        </map> 
        </property> 
    </bean>
   
    <beanid=”cronTrigger” class=”org.springframework.scheduling.quartz.CronTriggerBean”> 
        <propertyname=”jobDetail” ref=”job1″ /> 
        <propertyname=”cronExpression” value=”0 0/1 * * * ?” />
    </bean> 
   
    <!–
   
     
     
     
   
   
–>
   
    <beanclass=”org.springframework.scheduling.quartz.SchedulerFactoryBean”> 
        <propertyname=”triggers”> 
            <list> 
                <refbean=”cronTrigger” /> 
            </list> 
        </property> 
    </bean>
      <!– 定時任務結束–>

在maven中pom.xml加入quartz的jar包(注意spring不支持quartz 2.0以上的版本)

<properties> 
    <quartz.version>1.8.5</quartz.version>
</properties> 
<dependencies>
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>${quartz.version}</version>
    </dependency>
</dependencies>

2. 编程

Job1.java

public class Job1 extends QuartzJobBean {
   
   
private int timeout; 
   
private static int i = 0
   
//调度工厂实例化后,经过timeout时间开始执行调度 
    public void setTimeout(int timeout) { 
   
this.timeout = timeout; 
    } 
     
   
/**
    * 要调度的具体任务
   
*/ 
    @Override 
   
protected void executeInternal(JobExecutionContext context) throws JobExecutionException { 
      System.out.println(
“定时任务执行中…”); 
    } 
}

—–下面是注解配置篇—–

1. 在spring-mvc.xml中加入:

    <task:annotation-driven/> 
    <context:annotation-config/>  
    <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>  
    <context:component-scan base-package="com.cjt.quartz"/> 

  xmlns中加入

xmlns:task="http://www.springframework.org/schema/task"

  xsi:schemaLocation中加入

http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.1.xsd

 

2. 代码

package com.cjt.quartz;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; @Componentpublic class Job2 {

    @Scheduled(cron=”0/5 * *  * * ? “)
   
public void excute() {
        System.out.println(
“執行任務 Job2 excute…”);
    }
}

 

3. 加入maven包

请参照上面的xml配置篇

下载项目:

Linux公社资源站下载:

——————————————分割线——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2016年资料/8月/11日/Java Spring-Spring与Quartz整合/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

——————————————分割线——————————————

Spring3.2.11与Quartz2.2.1整合时内存泄漏问题解决  http://www.linuxidc.com/Linux/2015-06/119042.htm

Spring配置Quartz任务调度框架教程  http://www.linuxidc.com/Linux/2014-11/108907.htm

Quartz深入浅出 http://www.linuxidc.com/Linux/2014-09/107007.htm

Quartz1.6有状态JOB碰到的棘手问题既解决方案 http://www.linuxidc.com/Linux/2014-09/107005.htm

Spring 3整合Quartz 2实现定时任务 http://www.linuxidc.com/Linux/2014-09/107006.htm

Java项目中定时任务之Quartz的应用 http://www.linuxidc.com/Linux/2013-12/94443.htm

Spring 3 调度器示例 —— JDK 定时器和 Quartz 展示 http://www.linuxidc.com/Linux/2013-10/91946.htm

未经允许不得转载:演道网 » Java Spring-Spring与Quartz整合

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册