• springboot 定时任务


    springboot 定时任务

    在Spring Boot中,你可以使用Spring的@Scheduled注解来创建定时任务。以下是一个简单的示例:

    首先,你需要在Spring Boot的主类上添加@EnableScheduling注解以启用定时任务功能。

    import org.springframework.boot.SpringApplication;  
    import org.springframework.boot.autoconfigure.SpringBootApplication;  
    import org.springframework.scheduling.annotation.EnableScheduling;  
      
    @SpringBootApplication  
    @EnableScheduling  
    public class SpringBootSchedulingExampleApplication {  
        public static void main(String[] args) {  
            SpringApplication.run(SpringBootSchedulingExampleApplication.class, args);  
        }  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    创建一个定时任务类,并使用@Scheduled注解指定任务的执行时间。你可以使用Cron表达式或固定间隔。

    import org.springframework.scheduling.annotation.Scheduled;  
    import org.springframework.stereotype.Component;  
      
    import java.time.LocalDateTime;  
    import java.time.format.DateTimeFormatter;  
      
    @Component  
    public class ScheduledTask {  
      
        private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");  
      
        // 使用固定间隔,每5秒执行一次  
        @Scheduled(fixedRate = 5000)  
        public void reportCurrentTimeWithFixedRate() {  
            LocalDateTime now = LocalDateTime.now();  
            System.out.println("Current time: " + DATE_TIME_FORMATTER.format(now));  
        }  
      
        // 使用Cron表达式,每分钟的第15秒执行一次  
        @Scheduled(cron = "15 * * * * ?")  
        public void reportCurrentTimeWithCronExpression() {  
            LocalDateTime now = LocalDateTime.now();  
            System.out.println("Current time: " + DATE_TIME_FORMATTER.format(now));  
        }  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    这个示例中有两个定时任务。第一个任务reportCurrentTimeWithFixedRate()将每5秒执行一次,而第二个任务reportCurrentTimeWithCronExpression()将每分钟的第15秒执行一次。

    当你运行这个Spring Boot应用时,你会看到这两个任务按照预期的时间间隔输出当前时间。你可以根据你的需求调整定时任务的时间间隔和Cron表达式。

    Cron在线生成器网站: https://www.pppet.net/

  • 相关阅读:
    微信小程序提示确认框 wx.showModal
    ElasticSearch7.3学习(二十二)----Text字段排序、Scroll分批查询场景解析
    直流有刷电机调速原理及Matlab/Simulink仿真
    【线性代数】MIT Linear Algebra Lecture 2: Elimination with matrices
    基于微信小程序的小说阅读系统(小程序+Nodejs)
    Docker启动SRS流媒体服务器
    如何看待unity新的收费模式
    【大数据离线开发】6.2 MapReduce的高级特性
    多态的概念
    回调函数方式方法完整学习
  • 原文地址:https://blog.csdn.net/qq_35987023/article/details/133812911