V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
guoyuchuan
V2EX  ›  程序员

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

  •  
  •   guoyuchuan · 2018-11-19 10:06:48 +08:00 · 1401 次点击
    这是一个创建于 1956 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一.背景: 使用 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.请问以上情况该从哪些方面去思考出现的问题;

    johnniang
        1
    johnniang  
       2018-11-19 10:19:38 +08:00   ❤️ 1
    之前行,现在不行, 那么就找改变的地方,你可以考虑输出日志或者远程调试(部分代码逻辑更改处)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1197 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:12 · PVG 07:12 · LAX 16:12 · JFK 19:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.