spring 使用註解來排程定時任務
阿新 • • 發佈:2019-02-18
1.在需要載入spring的配置檔案裡spring.xml / applicationContext.xml 新增
- xmlns:task="http://www.springframework.org/schema/task"
- xsi:schemaLocation="
- http://www.springframework.org/schema/task
- http://www.springframework.org/schema/task/spring-task-3.0.xsd
2.配置自動排程的包和定時開關
- <!-- 自動排程需要掃描的包 -->
-
<
- <task:executorid="executor"pool-size="5"/>
- <task:schedulerid="scheduler"pool-size="10"/>
- <task:annotation-drivenexecutor="executor"scheduler="scheduler"/>
3.配置排程和註解排程
- <!-- 配置排程 需要在類名前新增 @Service -->
- <!--
-
<
- <task:scheduledref="demoTask"method="myTestWork"cron="0/10 * * * * ?"/>
- </task:scheduled-tasks>
- -->
- <!-- 不通過配置排程,需要在類名前 @Component/@Service,在方法名 前新增@Scheduled(cron="0/5 * * * * ? ")-->
4.在web.xml配置裡新增啟動時要掃描的配置檔案和監聽
-
<context-param
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext*.xml</param-value>
- </context-param>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
5.新增排程的包
6.類測試
- @Service
- publicclass demo {
- @Scheduled(cron="0/5 * * * * ? ")
- publicvoid myTestWork(){
- System.out.println("ssss");
- }
- }