博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot启动定时任务
阅读量:6473 次
发布时间:2019-06-23

本文共 1442 字,大约阅读时间需要 4 分钟。

1、

定时任务在Spring Boot中的集成

在启动类中加入开启定时任务的注解:

在SpringBoot中使用定时任务相当的简单。首先,我们在启动类中加入@EnableScheduling来开启定时任务。

@EnableSchedulingpublic class StartApplication {        public static void main(String[] args) {                SpringApplication.run(StartApplication.class, args);    }}

 

2、然后我们直接创建执行定时任务的service即可,例如:

@Servicepublic class TestService {        //每分钟启动一次    @Scheduled(cron="0 0/1 * * * ?")    public void test() {        System.out.println("I am testing schedule");    }}

运行结果:

可以看到,已经每分钟执行一次该方法了

接下来:

我们讨论一下cron表达式:可以参考这篇文章:https://www.cnblogs.com/javahr/p/8318728.html

 除了上面那种方式,还可以指定fixedRate,fixedDelay,initialDelay等方式设置定时方式,如:

package com.zlc.service;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Service;@Servicepublic class TestService {        //每分钟启动一次    @Scheduled(cron="0/5 * * * * ?")    public void test() {        System.out.println("I am testing schedule");    }      //上一次启动时间点之后 每5秒执行一次    @Scheduled(fixedRate= 5000)    public void test1() {        System.out.println("qd: "+new Date());    }        //上一次结束时间点之后 每5秒执行一次    @Scheduled(fixedDelay = 5000)    public void test2() {        System.out.println("js: "+new Date());    }        //第一次延迟 X秒执行,之后按照fixedRate的规则每X秒执行    @Scheduled(initialDelay = 5000,fixedRate = 6000)    public void test3() {        System.out.println("sdsds");    }    }

 

转载于:https://www.cnblogs.com/zlingchao/p/9574657.html

你可能感兴趣的文章
猪行天下之Python基础——3.2 列表 & 元组
查看>>
Http和Https
查看>>
Django使用Channels实现WebSocket--上篇
查看>>
Java 设计模式(三)《单例模式》
查看>>
个人博客
查看>>
IDEA 快捷键(Windows)
查看>>
关于双重锁单例模式
查看>>
小白的进阶之路之vue源码解读(0)
查看>>
《Miss Talk》第05期:对话唱唱启蒙英语技术总监 李超
查看>>
【Android架构】基于MVP模式的Retrofit2+RXjava封装之多Url(七)
查看>>
MockJS快速入门
查看>>
中午和CTO一起吃饭有感致程序员(续)
查看>>
Shell文件重定向的3种方法
查看>>
Zabbix 给主机添加模板
查看>>
深度使用react-native的热更新能力,必须知道的一个shell命令
查看>>
每天一个linux命令,包含最常用的几十个命令的详细使用,让您快速掌握Linux!...
查看>>
快捷键组合大全
查看>>
WBEMTest.exe----引深
查看>>
Django1.7分页插件linaro-django-pagination的使用
查看>>
MariaDB Galera Cluster实现mariadb的多主复制
查看>>