Spring 定时器

spring 定时器是spring3之后加入的,是quartz的简单实现

不需除spring额外的jar包

基于xml实现:

新建一个xml文件,applicationContext_task.xml

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:task="http://www.springframework.org/schema/task"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
      http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">

    <bean id="testTask" class="com.jjwang.TestTask"/>
    <task:scheduler id="myScheduler" pool-size="10"/> 
    <task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled-tasks>
        <task:scheduled ref="testTask" method="task" cron="0/1 * * * * ?"/>
    </task:scheduled-tasks>
</beans>

主要配置了定时任务的类com.jjwang.TestTask和方法task,cron配置定时的信息,这里是1秒执行一次
<task:scheduler id="myScheduler" pool-size="10"/> 是定义有10个线程,如果还有别的任务的时候可以启动新的线程,不然就只有一个线程,如果多个任务在同一个时间执行,只能一个一个执行

@Component
public class TestTask {
    
    public void task(){
        System.out.println("定时任务执行!");
    }
}

测试执行:

public class Main {
    public static void main(String[] args) {
        new ClassPathXmlApplicationContext("classpath*:/applicationContext*.xml");   
    }
}

执行结果
Fri Aug 25 19:55:22 CST 2017定时任务执行!
Fri Aug 25 19:55:23 CST 2017定时任务执行!
Fri Aug 25 19:55:24 CST 2017定时任务执行!
Fri Aug 25 19:55:25 CST 2017定时任务执行!

原文地址:https://www.cnblogs.com/mkdlf/p/7429508.html