赞
踩
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
1.在springboot启动类上配置@EnableScheduling 这个一定要加上;否则,不会定时启动任务!
2.在你的方法上添加@Scheduled
@Scheduled中的参数说明:
@Scheduled(fixedRate=2000):上一次开始执行时间点后2秒再次执行; @Scheduled(fixedDelay=2000):上一次执行完毕时间点后2秒再次执行; @Scheduled(initialDelay=1000, fixedDelay=2000):第一次延迟1秒执行,然后在上一次执行完毕时间点后2秒再次执行; @Scheduled(cron=“* * * * * ?”):按cron规则执行。
在线Cron表达式生成器:http://cron.qqe2.com/
通过看 @Scheduled源码可以看出它支持多种参数:
(1)cron:cron表达式,指定任务在特定时间执行;
(2)fixedDelay:表示上一次任务执行完成后多久再次执行,参数类型为long,单位ms;
(3)fixedDelayString:与fixedDelay含义一样,只是参数类型变为String;
(4)fixedRate:表示按一定的频率执行任务,参数类型为long,单位ms;
(5)fixedRateString: 与fixedRate的含义一样,只是将参数类型变为String;
(6)initialDelay:表示延迟多久再第一次执行任务,参数类型为long,单位ms;
(7)initialDelayString:与initialDelay的含义一样,只是将参数类型变为String;
(8)zone:时区,默认为当前时区,一般没有用到。
scheduler的pool-size是ScheduledExecutorService线程池,默认为1。默认为单线程
@Component
public class SendMessageTask {
@Autowired
private OrderService orderService;
//@Scheduled(initialDelay = 10000, fixedDelay = 10000)
//@Scheduled(cron = “”),可以通过cron参数设定要出发的按顺序,秒,时,分,天,月,星期,年(可选);前六个是必须的
//重点:年份(1970-2099)——@Scheduled是不支持的,spring quartz支持
@Scheduled(cron = “0/5 * * * * ?”) //每5秒执行一次
public void getMessageId(){
String messageId = orderService.getMessageIdById(“1”);
//单线程 pool-1-thread-1
System.out.println(Thread.currentThread().getName()+" "+new Date()+"messageId = "+messageId);
}
}
我们看打印出来的结果
pool-1-thread-1 Sun Sep 30 17:39:10 CST 2018messageId = am_01
pool-1-thread-1 Sun Sep 30 17:39:15 CST 2018messageId = am_01
…每5秒重复以上
我们只需用调用这个方法显式的设置一个ScheduledExecutorService就可以达到并发的效果了。我们要做的仅仅是实现SchedulingConfigurer接口,重写configureTasks方法就OK了;
其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。
特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。
也祝愿各位同学,都能找到自己心动的offer。
分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
hBfRVf0o-1714669106012)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。