任务调度:在指定时间执行操作,或者周期性的重复执行操作。
实现方式:
1.使用quartz插件
2.使用Spring3.0之后(包括3.0)版本中集成的task
(1)引入命名空间:在applicationContext.xml中加入
xsi:schemaLocation属性中加入:xmlns:task=http://www.springframework.org/schema/task
(2)在applicationContext.xml中配置:http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd
Task.java:测试类如下:<bean id="task" class="com.test.Task"/> <!-- 执行任务的线程池(数) --> <task:scheduled id="one" pool-size="10"/> <!-- 调度任务,使用cron表达式描述执行任务时间 --> <task:scheduled-tasks scheduler="one"> <task:scheduled ref="task" method="show" cron="0/2 * * * * ?"/><!-- 每两秒执行一次 --> </task:scheduled-tasks>
执行结果如下:package com.test; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Task { public static void main(String[] args) { // TODO Auto-generated method stub ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); } public void show(){ SimpleDateFormat format = new SimpleDateFormat("HH:MM:ss:SS"); System.out.println(format.format(new Date())); } }
17:03:38:07
17:03:40:04
17:03:42:05
17:03:44:01... ...