Java Spring-Spring与Quartz整合

java

关于spring mvc、mybatis、maven的整合,请看上一篇文章

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

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

 

-----下面是xml配置篇-----

1. 配置

在spring-mvc.xml文件中

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

<!-- 定時任務開始 -->

<bean name="job1" class="org.springframework.scheduling.quartz.JobDetailBean">

<property name="jobClass" value="com.cjt.quartz.Job1" />

<property name="jobDataAsMap">

<map>

<entry key="timeout" value="5" />

</map>

</property>

</bean>

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

<property name="jobDetail" ref="job1" />

<property name="cronExpression" value="0 0/1 * * * ?" /> <!-- 每分钟运行一次 -->

</bean>

<!--

<bean >

<property name="jobDetail" ref="job1"/>

<property name="startDelay" value="1000"/>

<property name="repeatInterval" value="5000"/>

</bean>

-->

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

<property name="triggers">

<list>

<ref bean="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;

@Component

public class Job2 {

@Scheduled(cron="0/5 * * * * ? ")

public void excute() {

System.out.println("執行任務 Job2 excute...");

}

}

3. 加入maven包

请参照上面的xml配置篇

下载项目:

https://github.com/cjt321/MavenSpirngmvcMybatis

以上是 Java Spring-Spring与Quartz整合 的全部内容, 来源链接: utcz.com/z/390203.html

回到顶部