spring 任务调度(定时任务)

spring 任务调度(定时任务)

本文将告诉你如何使用spring的任务调度。主要使用@Scheduled注解

文章需要会使用maven

第一步 pom.xml配置



    4.0.0

    org.xxz
    scheduled-task-test
    1.0

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.0.RELEASE
    

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


第二步 定时任务类(ScheduledTasks)

package org.xxz.task;

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

import lombok.extern.slf4j.Slf4j;

@Slf4j
@Component
public class ScheduledTasks {

    @Scheduled(fixedRate = 5000)
    public void now() {
        log.info("The time is now {}", new Date());
    }
}

@Scheduled有三种类型参数fixedRate, fixedDelay, cron
fixedRate 表示每隔多少毫秒执行一次
fixedDelay 表示任务执行完成后隔多少毫秒执行一次
cron 定时任务表达式

第三步 启动类(Application)

package org.xxz;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class Application {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class);
    }
}

第四步 打包运行

cd scheduled-task-test
mvn clean package
java -jar target/scheduled-task-test-1.0.jar

扩展知识:如果不想使用spring的任务调度,可以使用jdk自带的任务调度类

ScheduledExecutorService#schedule
ScheduledExecutorService#scheduleAtFixedRate
ScheduledExecutorService#scheduleWithFixedDelay

今天的分享就到这里了。谢谢阅读。

原文地址:https://blog.uyiplus.com/2018/spring-scheduling-tasks/

你可能感兴趣的:(spring 任务调度(定时任务))