1.Scheduled定时任务
scheduled是spring3.0以后自带的定时任务器,所以不需要依赖就可以实现
2.新建定时任务类
@Component
public class ScheduledConfig {
@Resource
private MessageService messageService;
/**
* 定时方法
* 每隔6秒发送一次消息
* corn表达式:标识触发时间
*/
@Scheduled(cron="*/6 * * * * ?")
public void fun1(){
messageService.sendMsg();
}
}
3.新建service消息类
@Service
public class MessageService {
public void sendMsg(){
System.out.println("现在时间"+new Date());
}
}
4.启动定时任务
在application类上加上注解**@EnableScheduling**
@SpringBootApplication
@EnableScheduling
public class SpringbootScheduledApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootScheduledApplication.class, args);
}
}
5.启动效果
6.关于scheduled总结
- 默认情况下,scheduled是单一线程执行,有多个定时方法时按照顺序执行
- 多线程执行时,要在方法上加 @Async注解,同时启动类上要开启多线程加上注解**@EnableAsync**
- scheduled一个任务发生异常时下面的任务也会执行
点击连接查看
项目源码:
sprinboot-scheduled