龙空技术网

java定时任务突然停止

朝花惜拾001 171

前言:

现时同学们对“java定时任务每天跑三次”大概比较讲究,兄弟们都需要分析一些“java定时任务每天跑三次”的相关资讯。那么小编同时在网摘上汇集了一些对于“java定时任务每天跑三次””的相关资讯,希望大家能喜欢,大家一起来学习一下吧!

业务场景:

Java定时任务突然停止,不在执行

业务场景:通过定时任务,定时生成数据文件,再SFTP上传到远程服务器上

查找问题原因:

1. 查找定时任务是否启用:数据库记录状态为启用

2. 查找应用日志

正常日志信息:

异常日志信息

缺少上传文件信息。怀疑是当时网络突然不通,经过网络组确认缺失是8号网络出现异常,但是在9号时就没有SFTP上传日志信息了。怀疑定时任务停止,但是是因为什么原因停止的呢 ?

继续查找日志。

查找java堆栈信息jstack

连接远程服务器的信息还在,正常情况下是查询不到该连接信息的。因为连接释放就不会存在该信息。那既然存在该信息就说明上次的定时任务没有执行完成,连接没有释放。那为什么连接没有释放会导致以后的定时没有起作用呢?开始查找代码:原来代码里的定时是单线程的,相当于连接池中只有一个连接,这个线程因为网络原因导致连接没有释放,该连接一直在占用。第二天定时任务再启动时,得不到连接,导致定时任务没有启动。

PS:因为是两台机器做的负载均衡,为了不影响业务及日志查看就重启一台服务器tomcat,保证业务正常。

标签: #java定时任务每天跑三次 #java定时任务失效