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定时任务不执行的资料请关注脚本之家其它相关文章!
相关文章
Spring Bean生命周期之Bean元信息的配置与解析阶段详解
这篇文章主要为大家详细介绍了Spring Bean生命周期之Bean元信息的配置与解析阶段,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助2022-03-03
Spring中的@Qualifier注解和@Resource注解区别解析
这篇文章主要介绍了Spring中的@Qualifier注解和@Resource注解区别解析,@Qualifier注解的用处是当一个接口有多个实现的时候,为了指名具体调用哪个类的实现,@Resource注解可以通过 byName命名和byType类型的方式注入,需要的朋友可以参考下2023-11-11


最新评论