美文网首页springjava
spring的定时任务被多次执行

spring的定时任务被多次执行

作者: 谁在烽烟彼岸 | 来源:发表于2018-02-08 17:06 被阅读122次

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

    有一下这几种情况:

    1.代码错误

    2.业务逻辑错误

    3.spring的多次加载

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


    解决问题

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

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


    定位到问题是tomcat

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

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

    最初的配置信息

    查找类似问题处理方式:

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

    不配置根路径访问

    方法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" />

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

    相关文章

      网友评论

        本文标题:spring的定时任务被多次执行

        本文链接:https://www.haomeiwen.com/subject/nyogoxtx.html