请问一个 springboot 定时器在 Windows server 上未开启的问题

2018-11-19 10:06:48 +08:00
 guoyuchuan

一.背景: 使用 springboot 搭建的一个项目,使用到了 springboot 的定时器;打包成 jar 包,需要部署到 Windows server 2012 R2 ; jdk 均使用 1.8 版本,springboot 使用 2.0.4.RELEASE ; 二.出现的情况: 星期六: 1:自己在 windows 系统的 ieda 上开发,其中定时器部分使用 springboot 的 @Scheduled 注解,且在 idea 上能正常运行,打成 jar 包之后也能在本地 Windows 部署也正常运行,把 jar 包部署到 Windows server 上也能正常运行,定时器也正常启动; 星期天: 1:项目在星期六的基础上将一部分代码逻辑改变,不涉及到定时器模块,在 idea 上能正常运行,打包在本地 Windows 上也能运行,jar 包部署到 Windows server 上,项目启动了,但是定时器未生效;然后将 jar 部署到 centos 上也能正常启动;

 在出现以上状况后,我将定时器执行的代码放到一个 A 类的 b 方法中,因为定时器中需要查询数据库

及缓存中的数据,所以 A 类实现了 ApplicationContextAware 接口,然后在 setApplicationContext 方法中使用 TimerTask 启动了一个定时任务,定时执行 b 方法;结果还是跟上边的情况一样,在 idea 正常启动,jar 包在本地 部署也正常启动,但是 jar 部署到 Windows server 上后项目能启动,但是定时器未启动;

三.出于某些原因,只能在下一个版本换系统,这个版本无法更换系统,只能使用 Windows server。。。。

四.问题: 1.请问以上情况该从哪些方面去思考出现的问题;

1585 次点击
所在节点    程序员
1 条回复
johnniang
2018-11-19 10:19:38 +08:00
之前行,现在不行, 那么就找改变的地方,你可以考虑输出日志或者远程调试(部分代码逻辑更改处)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/509133

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX