首先引入xsd
xmlns:task="http://www.springframework.org/schema/task"
而后在spring里配置
<!-- 配置任务线性池 -->
<task:executor id="executor" pool-size="5" />
<task:scheduler id="scheduler" pool-size="5" />
<!-- 启用annotation方式 -->
<task:annotation-driven scheduler="scheduler" executor="executor" />
<task:scheduled-tasks scheduler="scheduler" > </task:scheduled-tasks>
Java类中使用:
@Scheduled(fixedRate=7000000)
public void baseToken(){
String token=getTokenServiceImpl.getBasetoken().getAccess_token();
tokenDao.Del_insert(token);
}
或者用配置cron的方法
<task:scheduled-tasks scheduler="taskScheduler">
<!-- 每半分钟触发任务 -->
<task:scheduled ref="app" method="execute1" cron="30 * * * * ?"/>
<!-- 每小时的10分30秒触发任务 -->
<task:scheduled ref="app" method="execute2" cron="30 10 * * * ?"/>
<!-- 每天1点10分30秒触发任务 -->
<task:scheduled ref="app" method="execute3" cron="30 10 1 * * ?"/>
<!-- 每月20号的1点10分30秒触发任务 -->
<task:scheduled ref="app" method="execute4" cron="30 10 1 20 * ?"/>
<!-- 每年10月20号的1点10分30秒触发任务 -->
<task:scheduled ref="app" method="execute5" cron="30 10 1 20 10 ?"/>
<!-- 每15秒、30秒、45秒时触发任务 -->
<task:scheduled ref="app" method="execute6" cron="15,30,45 * * * * ?"/>
<!-- 15秒到45秒每隔1秒触发任务 -->
<task:scheduled ref="app" method="execute7" cron="15-45 * * * * ?"/>
<!-- 每分钟的每15秒时任务任务,每隔5秒触发一次 -->
<task:scheduled ref="app" method="execute8" cron="15/5 * * * * ?"/>
<!-- 每分钟的15到30秒之间开始触发,每隔5秒触发一次 -->
<task:scheduled ref="app" method="execute9" cron="15-30/5 * * * * ?"/>
<!-- 每小时的0分0秒开始触发,每隔3分钟触发一次 -->
<task:scheduled ref="app" method="execute10" cron="0 0/3 * * * ?"/>
<!-- 星期一到星期五的10点15分0秒触发任务 -->
<task:scheduled ref="app" method="execute11" cron="0 15 10 ? * MON-FRI"/>
</task:scheduled-tasks>