spring配置定時任務
阿新 • • 發佈:2018-12-12
1、配置xml檔案spring-timer.xml,注意xmlns中引入task和spring-task.xsd
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd" > <!--配置Spring定時任務--> <!-- 自動掃描的包名 --> <context:component-scan base-package="com.timer.*" /> <!-- 定時器開關 --> <task:annotation-driven /> </beans>
2、web.xml中配置spring-timer.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-service.xml,
classpath:spring/spring-dao.xml,
classpath:spring/spring-timer.xml
</param-value>
</context-param>
3、配置需要定時執行的方法
import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Lazy(false) @Component("TestTimeTask") public class TestTimeTask { //每5秒執行一次 @Scheduled(cron = "0/5 * * * * ? ") public void autoWork() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); System.out.println(sdf.format(date)+"-----測試定時任務"); } }
@Scheduled註解配置定時任務,cron表達時為執行的時機,若不會寫表示式,網上有生成cron表示式的網站。
執行結果: