SpringBoot 定时器简单使用,实现任务调度,spring+mybatis基础知识

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

import org.springframework.scheduling.annotation.EnableScheduling;

/* 开启定时任务注解 */

@EnableScheduling

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

public class abcApplication {

public static void main(String[] args) {

SpringApplication.run(abcApplication.class, args);

}

}

②新建一个Service,我这边只单纯为了举例,就不分什么impl了:

/**

  • @Author: JCccc

  • @CreateTime: 2018-09-21

  • @Description: 定时器任务测试

*/

@Service

public class TaskService {

//方法

}

③在刚才建的Service类里面,开始添加方法,并使用@Scheduled  (这个用于定时器调度) :

举几个例子 做介绍:

@Scheduled(cron = "0 */1 * * * * ")

public void reportCurrentByCron(){

System.out.println ("定时每分钟执行一次 : " + dateFormat().format (new Date ()));

}

@Scheduled(fixedDelayString=“5000”)

public void delayLoop(){

System.out.println(“延迟5秒运行一次 :”+ dateFormat().format (new Date ()));

}

@Scheduled(fixedRate=1000)

public void delayLoop(){

System.out.println(“每秒运行一次 :”+ dateFormat().format (new Date ()));

}

@Scheduled(fixedDelay=1000)

public void delayLoop(){

System.out.println(“每秒运行一次 :”+ dateFormat().format (new Date ()));

}

@Scheduled(fixedRate=1000,initialDelay=2000)

public void delayLoop(){

System.out.println(“运行后延迟2秒运行,再每隔一秒运行一次 :” + dateFormat().format(new Date()));

}

@Scheduled(cron = “0,1,2,3,4,5,6 * * * * MON-SAT”)//每分钟的前面0,1,2,3,4,5,6秒都执行一次

public void runTask(){

System.out.println("定时每分钟

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

的前6秒发送推报 :" + new Date());

}

以上例子,看打印里面的中文就知道什么作用了。那么,我接下来介绍一下下。

首先,如果你认真看上面的例子,你就会发现,fixedRate 和 fixedDelay 这两个东西好像都是隔多少秒循环执行。

介绍及区别说明:

FixedRate----- > @Scheduled(fixedRate=5000)

第一个任务开始时间秒数为00:00:30;那么在5秒之后,35秒的时候,第二个任务就会立刻执行的。 若第一个任务执行划分10秒,第二个任务的执行并不会受影响,还是会在00:00:35秒的时候执行。

FixedDelay---- > @Scheduled(fixedDelay=5000)

第一个任务开始时间秒数为00:00:30;那么第二个任务执行的时候,必须是第一个任务执行完再等5秒之后才能执行。 若第一个任务执行花费10秒,那么就说00:00:40+5秒,也就是00:00:45秒的时候,第二个任务才会执行。

划重点!!!以下内容:--------------------------------------------!!!!!!!!!!!!---------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值