Spring Task
java常见的定时任务有Timer、Spring Task和quartz。
这里记录一下Spring Task的配置与简单使用
1.配置文件
application-task.xml
<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
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.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd">
<context:annotation-config />
<!-- 自动调度需要扫描的包 -->
<context:component-scan base-package="com.rs.ezmall.web.task" ></context:component-scan>
<!-- 定时器开关 -->
<task:executor id="executor" pool-size="5"/>
<task:scheduler id="scheduler" pool-size="10"/>
<task:annotation-driven executor="executor" scheduler="scheduler"/>
</beans>
applicationContext.xml(引入task.xml配置)
<import resource="classpath:conf/application-task.xml" />
2.简单调用
package com.rs.ezmall.web.task;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Service
public class TestTaskServer {
@Scheduled(cron = "1/5 * * * * *")
public void task1(){
System.out.println("定时任务~");
}
}
tips: (1).类的包路径要与配置文件中配置路径一致
(2).需要使用@Service或@Component注解引入
(3).需要使用注解@Scheduled来定义定时任务的执行时间
@Scheduled(cron = “1/5 * * * * *”) 表示每五秒执行一次
3.结果