黑马程序员技术交流社区

标题: 【广州】+【原创】+springbooot整合Quartz实现定时任务调度 [打印本页]

作者: wujianhui    时间: 2018-7-22 10:53
标题: 【广州】+【原创】+springbooot整合Quartz实现定时任务调度
在开发中,越来越多的公司使用springboot,而在项目中又会使用到任务调度框架Quartz,所以今天就使用一个Demo来实现springboot与Quartz的整合。
首先创建一个java项目,使用maven进行版本控制。
在pom.xml加入依赖
[XML] 纯文本查看 复制代码
    <!--配置父级工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
    </parent>
    <!--配置WEB启动器 SpringMVC、Restful、jackson-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--配置springboot热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <!--任务调度:quartz-->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
        </dependency>
    </dependencies>
    <!--配置全局属性-->
    <properties>
        <!--配置jdk版本-->
        <java.version>1.8</java.version>
    </properties>

    <!--配置maven插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


创建一个类,类似于你要调度的任务
[Java] 纯文本查看 复制代码
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
* Date:2018/7/22
* Author:FireDragon-WuJianHui
* Desc:设置项目
*/
@Component//组件
public class DemoOfQuartz {
    //每一分钟执行一次
    @Scheduled(cron = "0 0/1 * * * ?")
    public void work() throws Exception{
        System.out.println("在 "+new Date()+" 调用了work的方法");
    }
    //每5秒执行一次
    @Scheduled(fixedRate = 5000)
    public void eat() throws Exception{
        System.out.println("在 "+new Date()+" 调用了eat的方法");
    }
    //每4秒执行一次
    @Scheduled(cron = "0/4 * * * * ?")
    public void sleep() throws Exception{
        System.out.println("在 "+new Date()+" 调用了sleep的方法");
    }

}


最后创建springboot启动类,运行
[Java] 纯文本查看 复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


/**
* Date:2018/7/22
* Author:FireDragon-WuJianHui
* Desc:
*/
@SpringBootApplication
public class SpringBootStratApplication {
    public static void main(String[] args){
        //启动springboot程序
        SpringApplication.run(SpringBootStratApplication.class);
    }
}

注意:以上两个类要在同一个包下面,要不然不会生效









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2