0、注意要先加约束
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd
1、首先开启注解配置
<task:annotation-driven/>
2、方法加注解(类需要加注解@Component)
/**
* 每30s清理一次
*/
@Scheduled(cron="0/30 * * * * ?")
public void checkExportOutTime(){
System.out.println(new Date());
int clean = exportExcelService.clean();
if (clean == 0){
System.out.println("fail");
}else if (clean == 1){
System.out.println("success");
}
}
cron的语法格式可以自己去查一下,这里不再赘述!
值得注意的是 如果在方法上加上
@PostConstruct注释 方法会在服务器启动的时候立即执行!
@PostConstruct
public void extendsDownload(){
System.out.println("success");
}
此方法比设置监听更好用 因为在启动tomcat的时候可能会用到其他的service 这时候注入service就会出现NPE的异常,而用此方法则不会产生该问题 spring在加载完成后立即执行该注解的方法 而servletContextlistener启动的时候spring还没有完成初始化 所以注入会出现NPE