Spring 加定時器
阿新 • • 發佈:2018-11-26
ide pac @service spring style 完成 ati tasks 一個
定時器功能我們一般不常用, 但是一旦用到,那也是非常重要的, 今天我們就講一下如何簡單快速的使用定時器
第一種方法, 使用註解的方式完成定時器
1.在spring-servlet.xml文件中加入task的命名空間:
xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd"
2.然後使用task配置掃描註解
<!-- 定時任務 --> <task:annotation-driven scheduler="qbScheduler" mode="proxy"/> <task:scheduler id="qbScheduler" />
3. 此時就可以直接使用@Scheduled(cron = "時間格式串"),應用該註解就可以實現定時的功能
@Scheduled(cron = "0/5 * * * * ?") //每隔5秒執行一次定時任務 public void consoleInfo(){ System.out.println("定時任務"); }
第二種方法, 不使用註解, 直接配置
首先
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” <description> 定時任務 </description> //定時註解驅動 <task:annotation-driven /> //進行定時任務的類,將其定義為一個bean<bean id="spaceStatisticsService" class="com.pojo.system.manager.sigar.impl.SpaceStatisticsServiceImpl"></bean> //通過task標簽,定義定時功能 <task:scheduled-tasks> <task:scheduled ref="spaceStatisticsService" method="statisticSpace" cron="59 59 23 * * ?" /> </task:scheduled-tasks>
然後 要實現的代碼如下所示
@Service public class SpaceStatisticsServiceImpl implements SpaceStatisticsService { @Override public void statisticSpace() { System.out.println("實現定時功能"); } }
-- 關於如何調整執行時間, 請在網上自行搜索
Spring 加定時器