1. xml配置 @Component public class SpringTask { private Log log = LogFactory.getLog(SpringTask.class); /** * 清空临时附件目录(每天凌晨1点执行) */ @Scheduled(cron = "0 0 1 * * ? ") public void clearupTheTempFolder() { String tempPath = SpringContextConfig.getTempPath(); File root = null; try { root = ResourceUtils.getFile(tempPath); if (root != null && root.exists()) { if (root.isDirectory()) { File[] files = root.listFiles(); for (File file : files) { deleteAllFile(file); } } } log.info("定时任务-删除临时附件完成"); } catch (FileNotFoundException e) { log.error("定时任务-删除临时附件失败:", e); } } private void deleteAllFile(File file) { if (file == null || !file.exists()) { return; } if (file.isFile()) { file.delete(); } else { for (File file1 : file.listFiles()) { deleteAllFile(file1); } file.delete(); } } }
2.java配置 计划任务执行类
@Service public class ScheduleTaskService { private static final SimpleDateFormat dataFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 5000) public void reportCurrentTime(){ System.out.println("每隔五秒执行一次" + dataFormat.format(new Date())); } @Scheduled(cron = "0 28 11 ? * *") public void fixTimeExecution(){ System.out.println("在指定事件" +dataFormat.format(new Date()) + "执行!"); } }
配置类
@Configuration @ComponentScan("spring.taskscheduler") @EnableScheduling public class TashSchedulerConfig { }
测试
public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext content = new AnnotationConfigApplicationContext(TashSchedulerConfig.class); } }