Spring Task - Spring 原生定时任务调度

时间:2022-11-03 07:59:45

Spring Task - Spring 原生定时任务调度

定时任务调度中,最简单的要属Spring原生的任务调度了吧。

过程很简单,只需要三个步骤就可以完成。

  1. 准备Spring环境
    这个就不用说了吧。
  2. 配置xml文件
    添加命名空间,在xml配置文件的beans标签中添加如下内容:

    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="http://www.springframework.org/schema/task/spring-task-3.0.xsd"

    在beans标签体中添加spring扫描的包,扫描需要定时执行的方法所在的类,内容如下:

    <context:component-scan base-package="com.test"/>


    在beans标签体中添加task标签,内容如下:

    <task:executor id="executor" pool-size="5" />
    <task:scheduler id="scheduler" pool-size="10" />
    <task:annotation-driven executor="executor" scheduler="scheduler" />
  3. 添加注释
    这里需要添加@Component和@Scheduled,@Scheduled标识要定时执行的方法,而该方法所在的类需要放入 Spring 的 IOC 容器中,故此需要在该方法所在的类上加上@Component注释。代码如下:

    package com.test;

    @Component
    public class TestClass{

    // 单位毫秒 5秒执行一次
    @Scheduled(fixedDelay = 5000)
    public void testMethod() { //... }
    }