目录标题
一、原因
debug本地调试没有出现定时任务多次运行的bug,上传到服务器就出现多次运行的bug。(war的方式部署到tomcat
)
一开始我以为是代码原因,或者是linux和win环境不同运行定时任务的方式不一样。
但是自己重新新建项目写了个定时任务的测试代码,发现还是本地调试没有问题,一上传到服务器运行就会出现重复运行job的bug。
我就感觉是tomcat的配置有问题,果然去看了服务器的tomcat 配置文件server.xml。
发现有多个这个host配置(这个配置跟域名配置有关系),并且每个host的appBase的值都是一样的路径。
然后在下面的目录下有多个项目缓存文件
百度了一下,host的作用。如果配置多个会启用多个相同的服务(实例),导致定时任务重复运行多次,这个完全不是多线程造成的,怪不得加同步锁一点用都没有,原来是开了几个实例。。。。