1.新建task類spring
package net.qdedu.task; import lombok.extern.slf4j.Slf4j; import net.qdedu.activity.service.ActivityBaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service @Slf4j public class WeeHoursTask { @Autowired private ActivityBaseService activityBaseService; /** *檢測活動是否到開始時間 */ public void collectKnowledgeAbilityData() { log.warn("start"); activityBaseService.batchUpdateStartStatus(); } /** * 檢測活動是否到結束時間 */ public void collectWorkGradeData() { log.warn("stop"); activityBaseService.batchUpdateStopStatus(); } }
2.增長配置文件spring-task.xmlspa
定時時間瞭解推薦:https://blog.csdn.net/u012843873/article/details/72957965.net
咱們使用的是spring內置的定時任務component
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd"
default-lazy-init="true">
<context:annotation-config />
<!--spring掃描註解的配置-->
<context:component-scan base-package="net.qdedu.task" />//新建項目包的掃描路徑
<!-- 每隔3分鐘執行一次 -->
<task:scheduled-tasks>
<!-- 檢測活動是否到結束時間 每50秒執行一次 ref:類的名稱 method:對應類的方法-->
<task:scheduled ref="weeHoursTask" method="collectWorkGradeData" initial-delay="50000" fixed-delay="50000"/>
<!-- 檢測活動是否到開始時間 每50秒執行一次 ref:類的名稱 method:對應類的方法-->
<task:scheduled ref="weeHoursTask" method="collectKnowledgeAbilityData" initial-delay="50000" fixed-delay="50000"/>
</task:scheduled-tasks>
</beans>
3.在spring-context.xml增長掃描spring-task.xmlxml