测试同学改测试环境系统时间,匹配定时任务的时间,进行测试。
但定时任务没有触发。
查看了系统时间,没有问题,就是需要的时间节点;定时任务,手动执行没有问题;corn也没毛病。
测试找到我,质疑我的程序有毛病。
怒而一波操作后,发现了盲点。
测试同学是在测试环境部署完之后,再更改的系统时间!这样是行不通的!
因为jvm启动之后会记录系统时间,然后jvm根据CPU ticks自己来算时间,而不是去拿系统时间,它的时间不是获取的系统时间,而是从重启那刻起,就根据自己的机制在计算时间。
解决方案:
先改系统时间,再进行部署。