您的位置 首页 java

java定时任务突然停止

业务场景:

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

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

查找问题原因:

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

2. 查找应用日志

正常日志信息:

异常日志信息

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

继续查找日志。

查找java堆栈信息jstack

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

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

文章来源:智云一二三科技

文章标题:java定时任务突然停止

文章地址:https://www.zhihuclub.com/182650.shtml

关于作者: 智云科技

热门文章

网站地图