开发中有时候需要某些方法在指定时间启动,以前我的做法是写一个线程去走,走完后sleep指定时间
后面随着对spring的深入后,知道spring有一个定时任务,下面直接讲做法!
首先在spring MVC配置文件中引入如下内容:
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd
然后配置开启定时任务:
<task:annotation-driven />
然后在你需要执行的方法上添加以下注解:
@Scheduled(cron="0 0 0 * * ?")
注意,该方法不能有返回值,括号里面的叫cron表达式,用来指定什么时候执行,cron表达式很多博主写的都很清晰明了,直接搜索一下吧,我的表达式指定的是每天晚上12点开始执行,如果你有特殊需求可以去下面的网站生成表达式:
要注意的是cron表达式是6位的,网站中的是七位,把最后一位年份去除就好!然后注意格式,不能以*号结尾,然后不用指定的建议用*号表示,还有一些具体的注意事项可以见那些大牛的原创关于cron表达式的详解