Spring Scheduled定义的方法调用时才开启此任务

来源
在通过定义一个任务方法时,需要在任务方法被业务代码调用时,才触发后续的定时任务自动运行。
实现思路
1、首先看下源码
spring提供的task是由一个注解@EnableScheduling来控制开关,所以源码从这里入手 通过源码,可以看到schdule的任务是由ScheduledAnnotationBeanPostProcessor来处理的,查看该类的源码可以得知:postProcessAfterInitialization(Object bean, String beanName)方法即为实际的任务注册 所以,接下来,就可以通过利用该方法。我们自定义选择注册时机,就可实现自定义时间开启此任务。
2、实现方法
需要用到spring的环境变量对象 ApplicationContext和bean工厂BeanFactory两个对象,而Spring提供方案只要实现自定义的Aware即可获取到全局

Spring Scheduled定义的方法调用时才开启此任务最先出现在Python成神之路

版权声明:
作者:congcong
链接:https://www.techfm.club/p/13613.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>