JAVA注解@Scheduled 不执行
spring boot项目需要在启动类加上注解 @EnableScheduling
定义一个接口
StockTask.java
1 public interface StockTask { 2 public void task() ; 3 }
定义一个实现类
并继承上面代码
@Component public class StockTaskImpl implements StockTask { /** * 定时器 * @throws IOException */ @Scheduled(fixedRate=30000) @Override public void task() { System.err.println("每30s执行一次"); } }
如果是Spring的项目需要配置一下bean
<beans xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd">
<!--开启这个配置,spring才能识别@Scheduled注解 -->
<task:annotation-driven scheduler="qbScheduler" mode="proxy"/>
<task:scheduler id="qbScheduler" pool-size="10"/>
<!-- 自动扫描包(也就是自己添加的定时器路径) -->
<context:component-scan base-package="com.dj.dao,com.dj.service" />
</beans>
运行之后就可以自动执行了

浙公网安备 33010602011771号