1. 程式人生 > >Spring 加定時器

Spring 加定時器

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 加定時器