spring的定时任务被多次执行

在使用spring的定时任务时,定时任务被多次执行。

有一下这几种情况:

1.代码错误

2.业务逻辑错误

3.spring的多次加载

4.tomcat配置导致容器被初始化两次


解决问题

1.本项目全部使用注解,不存在多次配置,spring加载多次的问题

2.本地Idea测试,只执行一次,所以无代码和业务逻辑错误


定位到问题是tomcat

tomcat配置导致容器被初始化两次

由于app直接放在tomcat的webapp下,并且通过根路径访问,配置如下

3145530-f97ce198a7c4f238.png
最初的配置信息

查找类似问题处理方式:

方法1:不配置根路径访问(最为简单粗暴)

3145530-82926b3f3534168d.png
不配置根路径访问

方法2:将路径已出webapp目录,在docBase中指定路径(可以是相对于webapp的路径,或者绝对路径)

方法3:替换ROOT目录

方法4:在conf/Catalina/localhost生成ROOT.xml,并加入如下内容:

<?xml version='1.0' encoding='utf-8'?>

<Context docBase="xxx" path="" reloadable="true" />

实际上方法四是方法一的变种;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值