zoukankan      html  css  js  c++  java
  • 关于spring定时任务被多次调用的问题

    在项目开发中,难免会用到定时任务,如果你的项目中用了spring这个框架,那么恭喜你,你的定时任务的创建将变得无比简单。

    代码中只需要一个 @Scheduled标签,然后配置对应的执行频率即可

     pasting

    @Scheduled(cron="0/60 * *  * * ? ")   //60秒执行一次
    @Override
    public void checkLoginStatus() {
    System.out.println("process");
    }

    如上代码,即可实现定时任务。 

    但是今天在代码从本地提交到linux环境时出现了一个小问题,在本地Windows环境中,定时任务执行正常,但是在Linux环境,会出现重复执行的情况。

    经过在网络上的问题排查,找到原因了。

     我这边的问题主要在tomcat的配置上,在tomcat的<host>配置中,appBase的值与Context配置中path的值存在重复的问题,导致每次定时任务都会被调用两次,这里要做的就是把host中appBase中的值删掉即可。

    如果这种方法不可行,那么就需要检查自己的spring配置文件,是否已经配置了定时任务,如果配置文件中已经配置了定时任务,代码中又使用了@Scheduled
    标签也会导致重复调用的问题。

  • 相关阅读:
    matlab软件-了解
    C# 自定义异常demo
    C#二进制对象copy
    asp.net 缓存依赖demo
    权限管理细粒度问题
    三层架构中的异常处理二
    如何解决复杂问题——结构化思维方式
    入职新公司如何熟悉项目
    专业工具使用与复杂大型项目设计管理
    十分钟学会 tmux
  • 原文地址:https://www.cnblogs.com/niepeishen/p/5684167.html
Copyright © 2011-2022 走看看