SpringBoot 定时器注解版的使用@Scheduled(cron = “0 0 0 * * * “)
程序员文章站
2022-08-13 21:00:43
SpringBoot 定时器注解版的使用@Scheduled(cron = "0 0 0 * * * ")一、第一种方法1.1 全局的配置在主启动类上添加注解@EnableScheduling开启定时器总开关@SpringBootApplication@EnableSchedulingpublic class CustomerApplication { public static void main(String[] args) { SpringApplication.r...
SpringBoot 定时器注解版的使用@Scheduled(cron = "0 0 0 * * * ")
一、第一种方法
1.1 全局的配置在主启动类上添加注解@EnableScheduling开启定时器总开关
@SpringBootApplication
@EnableScheduling
public class CustomerApplication {
public static void main(String[] args) {
SpringApplication.run(CustomerApplication.class, args);
}
}
1.2 给指定的方法上添加定时任务注解@Scheduled(cron = "0 0 0 * * * ") 没1分钟执行一次
@Scheduled(cron = "0 */1 * * * ?")
@GetMapping(value = "getTest")
public String getTest(){
String test = testFeign.getTest();
logger.info("getTest-feign消费者调用提供者返回数据:"+test);
return test;
}
结论:定时任务1分钟执行一次,验证成功。
二、第二种方法
2.1、直接在定时器类上添加@Configuration、@EnableScheduling注解,标注这个类是配置文件,并开启定时开关
2.2、给要定时执行方法上添加@Scheduled(cron = "0 0 0 * * * ")
package com.customer.configuration;
import com.customer.feign.TestFeign;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.GetMapping;
@Configuration //证明这个类是一个配置文件
@EnableScheduling //启用定时器
public class EnableSchedulingCofig {
private static final Logger logger = LoggerFactory.getLogger(EnableSchedulingCofig.class);
@Autowired
private TestFeign testFeign;
@Scheduled(cron = "0 */1 * * * ?")
@GetMapping(value = "getTest")
public String getTest(){
String test = testFeign.getTest();
logger.info("getTest-feign消费者调用提供者返回数据:"+test);
return test;
}
}
结论:定时任务1分钟执行一次,验证成功
2.3、在线Cron表达式生产器 https://qqe2.com/cron
Cron表达式
格式: cron = [秒] [分] [小时] [日] [月] [周] [年]
本文地址:https://blog.csdn.net/weixin_42277978/article/details/109268121