Spring(SpringMVC) 两种程序任务调度方式Quartz/Spring-Task 本文写的自己凌乱了

大部分项目都会需要定时执行摸个任务,有的可以在数据库中执行,有的只能在程序中执行。

两种集成的方式

一、注解使用Quartz

      a.引入jar包,注意和spring 的兼容版本 此处spring的版本是4.0.2.RELEASE( 应该只要是4.x的都支持)

    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.3.0</version>
    </dependency>

     b.添加spring配置     

  spring task命名空间配置 

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

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

<!-- 开启注解驱动特性 -->

<task:annotation-driven/>

<context:component-scan base-package="com.ucic.task"/>

c.编写任务实现类


@Component
public class QueryBoxunDataTask {

	/**
	 * 定时执行任务
	 */
	@Scheduled(cron="0 0/1 * * * ?") //每分钟执行
	public void doJob(){
		System.out.println("-------------------"+new Date().toLocaleString());
	}
	
}

d.效果

    

二,注解使用spring-task

 奇怪 为什么 去掉quartz依赖也照样运行,所以写到这里的时候 我才发现两个的配置居然一样 难道如果有quartz就调用quartz?没有的话就使用默认的spring-task?  

发布了70 篇原创文章 · 获赞 16 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/ucicno000/article/details/82968139