SpringBoot定时任务不执行的几个可能原因及解决方法

 更新时间:2023年12月04日 11:25:46   作者:走错路的程序员  
这篇文章主要介绍了SpringBoot定时任务不执行的几个可能原因及解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

首先在主Application上加上 @EnableScheduling 注解 表明,

本app有定时任务.需要扫描定时任务的类.

package com.other;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableScheduling
@SpringBootApplication
public class OtherApplication {

	public static void main(String[] args) {
		SpringApplication.run(OtherApplication.class, args);
	}
}

然后在主定时任务类上加上

@Component

@EnableScheduling

@EnableAsync

前两个注解, 第三个@EnableAsync 视情况加

我的代码如下

package com.other.task;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@EnableAsync
@EnableScheduling
public class UploadGrade {
    @Scheduled(fixedRate = 2000)
    public void task1(){
        System.out.println("task1运行"+ System.currentTimeMillis()); 
    }
}

看似简单,却隐藏着很多坑,一不小心就掉进去了,比如:

(1)此方法不能有参数

(2)此方法不能有返回值

(3)此类中不能包含其他带任何注解的方法

(4)此类必须跟主Application同一个包. 如下图.

以上就是SpringBoot定时任务不执行的几个可能原因及解决方法的详细内容,更多关于SpringBoot定时任务不执行的资料请关注脚本之家其它相关文章!

相关文章

  • AsyncHttpClient的TimeoutTimerTask连接池异步超时

    AsyncHttpClient的TimeoutTimerTask连接池异步超时

    这篇文章主要为大家介绍了AsyncHttpClient的TimeoutTimerTask连接池异步超时源码流程解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 使用@PathVariable接收两个参数

    使用@PathVariable接收两个参数

    这篇文章主要介绍了使用@PathVariable接收两个参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 浅析Java编程中枚举类型的定义与使用

    浅析Java编程中枚举类型的定义与使用

    这篇文章主要介绍了Java编程中枚举类型的定义与使用,简单讲解了enum关键字与枚举类的用法,需要的朋友可以参考下
    2016-05-05
  • Java详细分析连接数据库的流程

    Java详细分析连接数据库的流程

    Java数据库连接,JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的
    2022-05-05
  • MyBatis如何通过拦截修改SQL

    MyBatis如何通过拦截修改SQL

    这篇文章主要介绍了MyBatis如何通过拦截修改SQL问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • java中实现分页的几种常见方式总结

    java中实现分页的几种常见方式总结

    在项目中经常会查询大量数据,这就要用到分页展示,下面这篇文章主要给大家介绍了关于java中实现分页的几种常见方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • springboot前后台数据交互的示例代码

    springboot前后台数据交互的示例代码

    这篇文章主要介绍了springboot前后台数据交互的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Java基于Socket实现多人聊天室

    Java基于Socket实现多人聊天室

    这篇文章主要为大家详细介绍了Java基于Socket实现多人聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • Java面试题冲刺第十五天--设计模式

    Java面试题冲刺第十五天--设计模式

    这篇文章主要为大家分享了最有价值的三道关于设计模式的面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Jar包如何导入本地maven仓库

    Jar包如何导入本地maven仓库

    将本地jar包导入本地maven仓库,可以通过maven命令-Dfile、-DgroupId、-DartifactId、-Dversion、-Dpackaging指定jar包的详细信息,然后执行命令即可
    2024-11-11

最新评论