我的定时任务是拆分到单独的一个Module里面的,在IDE中运行功能都很正常,更新到服务器上定时任务就不执行。网上查了下SpringBoot相关定时任务的问题,基本上都是在说要启用定时任务需要注意几个地方:
1、包扫描需要包含定时任务;
2、需要使用注解:@EnableScheduling;
3、定时任务设置多线程执行,单线程存在阻塞的问题;
但是这些我都检查完了,都没有问题,而且在IDE中是能够运行的,那肯定是环境或者别的问题。我又在本地使用java -jar的方式启动服务,定时任务还是没有执行,那说明不是环境的问题。我又直接在服务启动module里面写了一个测试的定时任务,这次打包后在本地启动,定时任务成功执行。再去检查定时任务module的pom.xml,把spring-boot-maven-plugin注释掉
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>-->
然后重新打包定时 任务就正常执行了。