SpringBoot使用Quartz

目录

在这里插入图片描述

依赖

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- 添加 Scheduled 坐标 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
    </dependencies>

这里的springboot的starter版本随意

启动类

@SpringBootApplication
@EnableScheduling
public class BootApplication {
    public static void main(String[] args) {
        SpringApplication.run(BootApplication.class, args);
    }
}

TaskController

package com.zjc.controller;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;

import java.text.SimpleDateFormat;
import java.util.Date;


@Component
public class TaskController {
    @Scheduled(fixedDelay = 3000)
    public void myTask1(){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(simpleDateFormat.format(new Date()) + "1111111111111111");
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    @Scheduled(fixedRate = 3000)
    public void myTask2(){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(simpleDateFormat.format(new Date()) + "2222222222222222");
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }




    /**
     *       cron:,项目启动后每5秒执行一次
     *       fixedDelay:距离上一次定时任务执行完毕后N毫秒在执行,
     *       比如参数是3000,上次执行A任务花了5秒,执行完成之后在过3秒执行
     *       fixedRate:执行周期,执行频率,
     *       上一个定时任务执行开始,在过N毫秒后执行,比如参数是3000,上次执行A任务花了2秒,在过1秒后执行,
     *       上次执行A任务花了15秒,任务执行后,直接执行
     *
     * @auther
     * @return void
     */
    @Scheduled(cron = "0/5 * * * * ?")
    public void cronTask()
    {
        System.out.println("Cron方式-定时任务执行时间:"+ new Date()+"333333333333333");
    }

}

直接启动就会自动执行了,想写cron方式的推荐个地址http://cron.qqe2.com/
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页