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定时任务执行!