在Spring中使用 Java Timer 调度任务
从Java 1.3开始,Java SDK就通过java.util.Timer类提供了基本的调度功能。这个类允许你调度一个任务(通过java.util.TimerTask子类定义)按任意周期运行。
创建一个定时器任务
使用Java Timer来调度发送注册报表邮件的第一步是从java.util.TimerTask中派生出邮件任务,如以下程序所示。
程序:一个用于发送注册报表邮件的定时器任务
Java代码
public class EmailReportTask extends TimerTask { public EmailReportTask() {} public void run() { courseService.sendCourseEnrollmentReport(); } private CourseService courseService; public void setCourseService(CourseService courseService) { this.courseService = courseService; } }
<bean id="reportTimerTask" name="code"><bean id="scheduledReportTask" name="code"><bean name="code"><bean class="org.springframework.scheduling.timer.TimerFactoryBean"> <property name="scheduledTimerTasks"> <list> <ref bean="scheduledReportTask"/> </list> </property> <!-- delay 属性指定其间隔时间 --> <property name="delay"> <value>3600000</value> </property> </bean>