需求:当我们在开发一个api时,响应速度太慢了,因为这api中开发的某些功能消耗了大量的时间,我们可以将这些功能提取出来延迟执行
这样做是有个前提的,不是必要的一些功能,也就是说cms执行成功,但是在没有执行TaskScheduler之前其实并没有成功,只是说提高了响应速度,这会是工作当中的一种优化
如果使用
1、加入注解,引入Bean
@ RequiredArgsConstructor
final private TaskScheduler scheduler;
2、延迟执行
scheduler.schedule(() -> SpringBeanUtil.getBean(MediumService.class).updateMediumByEntity(id, THEMENAME), Instant.now().plus(5, ChronoUnit.SECONDS));
意思是5s后执行MediumService中的updateMediumByEntity方法,参数为id和THEMENAME
在TaskScheduler接口中还有许多方法可以深入研究