Spring时间调度
Java的Timer类和OpenSymphony的Quartz调度器是两个流行的调度API。Spring为这两个调度器提供了一个抽象层,可以更容易的使用他们
spring+timer
1 .使用java Timer调度任务
第一步 web.xml
<!--*********************** spring setting ***********************-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContextTimeTask.xml
</param-value>
</context-param>
第二步 配置applicationContextTimeTask.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
****************使用java Timer调度任务*********************
使用java Timer调度第一步是从java.util.TimerTask派生一个任务
声明本身只是将EmailReportTask放到应用上下文,
并在testBean属性装配TestBean
在调度之前不会做任何事。
-->
<bean id="testBean" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="reportJob" 在 day of week 域表示"the days Monday, Wednesday, and Friday"
/ 表示指定的增长范围。比如"0/15" 在秒的区域表示"0, 15, 30, and 45"秒。
"L"字符是允许用来月某天和周某天字段。这个字符是一个"last"的缩写,但是它有不同的意义在两个字段的其中之一。例如,这个值"L"在月字段的某一天意味着" 这个月的最后一天",31或者28等等。
-->
<bean id="cronReportTrigger" + testBean.greeting);
}
private TestBean testBean;//这里实现spring的依赖注入
public void setTestBean(TestBean testBean) {
this.testBean = testBean;
}
}
TestBean.java 同上