springboot使用定时器在打war包的另一种简单实现任务调度(spring定时器)

···从前那一个前辈教育我说不要钻牛角尖,去研究一些技术,能用就行,那时候1一个小时可以使用一种技术,那时候没有时间,没有资本和经验,搞一个小东西,要看很久的文献;就成了一个传说中的程序员,在我看来只会copy和打代码的程序员与打字员无异呀;刚开始的年头还能打的下去,而这么久了,我也奔着5年大关走了,现在时代发展如此迅速,我在去年的时候就考虑,人工智能是否会冲击大部分市场,我是否还能站在这里;莫名其妙我跑回了哈尔滨,没有什么大佬,没有什么技术,但是可以有时间去研究,亲力亲为;
springboot(准确说是spring的
)有一个注解我一直不知道,也许springmvc也有,但是从来没去尝试过应用场景,一般一个监听器一个定时器就能搞定大多数东西,能用监听的项目也是不错的了;
springboot使用定时器在打war包的另一种简单实现任务调度(spring定时器)_第1张图片
最开始项目我使用的是一个WebListener的监听,里面使用了一个ScheduledExecutorService,基于线程池设计的定时任务类,我实现一个比较复杂的功能,于是我将整个业务扔到了一个处理类集成Runnable ,用任务去调度他;任务启动无异常,使用过程中也很顺利,但是打成war包的时候,遇到的其中一个坑就是这个runnable这个类集成无法加载,我去求助了当年带我的一个大哥罗哥,然后他晚上看了一眼告诉我去使用@EnableScheduling,于是我在主类上打上这个注解,尝试了一下并不好用(人家也不知道你环境,一般来说问人就是问思路,有时候可以走,有时候换条路),但是给我提供了一个新的思路,于是特意去查看了一下注解@EnableScheduling用来开启对计划任务的支持;于是简单学习一下,发现他不需要监听去触发,查询了一下,他叫任务调度@Scheduled,通过该注解,直接启动定时的任务调度,我毫不犹豫的使用了他,因为简化了很多
springboot使用定时器在打war包的另一种简单实现任务调度(spring定时器)_第2张图片
而且springboot打war也能很好的实现,他的加载顺序是在Bean创建的时候去查找当前类中所有包含的@Scheduled注解;而我之前的那种写法,在打war包的时候,我个人认为应该是监听先加载,监听里去找这个类,还没有被加载,但是不打war包的时候却没有问题,还是不是很清楚;后续我发现其中原因在发帖,个人见解而已欢迎指正,你的指正是我最大的进步

你可能感兴趣的:(笔记记录)