pom.xml中导入必要的依赖:

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>

    <dependencies>
        <!-- SpringBoot 核心组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

@EnableScheduling 使用@EnableScheduling 注解开启功能,自动扫描

@Scheduled(cron = “0 0/45 * * * *”) // 使用 corn表达式定义执行的周期时间

* 第一位,表示秒,取值0-59
* 第二位,表示分,取值0-59
* 第三位,表示小时,取值0-23
* 第四位,日期天/日,取值1-31
* 第五位,日期月份,取值1-12
* 第六位,星期,取值1-7,星期一,星期二...,注:不是第1周,第二周的意思
          另外:1表示星期天,2表示星期一。
* 第7为,年份,可以留空,取值1970-2099 常用的表达式:
"0 0 10,14,16 * * ?" 每天上午10点,下午2点,4点 
"0 0/30 9-17 * * ?" 朝九晚五工作时间内每半小时 
"0 0 12 ? * WED" 表示每个星期三中午12点 
"0 0 12 * * ?" 每天中午12点触发 
"0 15 10 ? * *" 每天上午10:15触发 
"0 15 10 * * ?" 每天上午10:15触发 
"0 15 10 * * ? *" 每天上午10:15触发 
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发 
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发 
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发 
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发 
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发 
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发 
"0 15 10 15 * ?" 每月15日上午10:15触发 
"0 15 10 L * ?" 每月最后一日的上午10:15触发 
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

cron表达式 含义2
0 * * * * ? 每分钟触发一次
0 0 * * * ? 每小时触发一次
0 0 1 * * ? 每天凌晨1点触发一次
0 30 1,12 * * ? 每天凌晨1:30和12:30各触发一次
0 * 1,13 * * ? 每天1:00到1:59以及13::00到13::59,每分钟触发一次
0 * 1 * * ? 每天凌晨1:00到1:59,每分钟触发一次
0 0 * 1 * ? 2019 在2019年里每个月1号的每一个小时触发一次
59 59 23 L 6 ? 每年的6月的最后一天的23:59:59分触发一次
0 0 24 L * ? 每个月的最后一天的24点触发一次
0 0/10 * * * ? 每隔10分钟执行一次,比如从9:05开始执行,9:10、9:20、9:30…等都会触发一次
0 */10 * * * ? 每隔10分钟执行一次 ,比如从9:05开始执行,9:15、9:25、9:35…等都会触发一次,和上面的区别是:起始的参照时间点不同
0 0 9-18 * * ? 每天的9点到18点的每隔整点触发一次
0 0 1 ? * 4L 每个月最后一个周三的凌晨1点触发一次
0 0 0 ? * 2 每周一的0点触发一次
0 0 24 ? * 6 每周五的24点触发一次

@PostConstruct

Java中该注解的说明:

@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。

通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:

Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)

 

@Configuration
@EnableScheduling
@Slf4j
public class ParkingResourceRedisTask {

	@Resource
	private RedisUtils redisUtils;

	@Scheduled(cron = "0 0/45 * * * *")
	@PostConstruct
	public void getParkingResourceTask() {
		log.info("定时任务执行了");
		int type = 0;
		do {
			String cantonName = ParkingNameFormEnum.getName(type);
			this.setRedis(cantonName,type);
			type++;
		}while(type<8);
	}

	private void setRedis(String cantonName,int type){
	  
	}
}

分类: 微服务

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

蜀ICP备16001794号
© 2014 - 2024 linpxing.cn All right reserved.