先看一个不设置timeout造成的线上事故. 一次线上事故 有一次生产上的一个服务出了点故障,一个原本每5分钟执行一次的定时任务突然不执行了.第一反应是任务执行报错,查看日志,却没有找到任何异常报错信息. 但通过日志可以确定的是,该任务线程还在执行中.按照这个定时任务执行的业务逻辑来说,这是不正常的,除了一个HTTP请求外,其它都是不耗时的操作.那么问题只可能是出在HTTP请求之上了. 通过jstack查看线程的堆栈信息,确定了就是HTTP请求的问题了. 从上面的堆栈信息,可以看到该定时任务线程…