ssm项目(tomcat项目),定时任务(每天运行一次)相同时间多次重复运行job 的bug

目录标题

一、原因

debug本地调试没有出现定时任务多次运行的bug,上传到服务器就出现多次运行的bug。(war的方式部署到tomcat

一开始我以为是代码原因,或者是linux和win环境不同运行定时任务的方式不一样。

但是自己重新新建项目写了个定时任务的测试代码,发现还是本地调试没有问题,一上传到服务器运行就会出现重复运行job的bug。

我就感觉是tomcat的配置有问题,果然去看了服务器的tomcat 配置文件server.xml。

发现有多个这个host配置(这个配置跟域名配置有关系),并且每个host的appBase的值都是一样的路径。

然后在下面的目录下有多个项目缓存文件

百度了一下,host的作用。如果配置多个会启用多个相同的服务(实例),导致定时任务重复运行多次,这个完全不是多线程造成的,怪不得加同步锁一点用都没有,原来是开了几个实例。。。。

相关推荐
工业甲酰苯胺2 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫2 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@2 小时前
【JAVA】LinkedList与链表
java·python·链表
LilySesy3 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
六件套是我3 小时前
redission实现延时队列
android·java·servlet
王元_SmallA3 小时前
Redis Desktop Manager(Redis可视化工具)安装
java·后端
ᐇ9593 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
好好研究3 小时前
Spring框架 - 开发方式
java·后端·spring
武子康3 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
2301_796512524 小时前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust