Java Spring TimerFactoryBean如何启动计时器任务

Java Spring TimerFactoryBean如何启动计时器任务,java,spring,timer,timertask,Java,Spring,Timer,Timertask,我想通过spring.xml设置计时器任务,只要加载applicationContext,计时器就会启动 我正在阅读Spring的本教程: 但我没有找到任何关于spring如何启动计时器的信息。例如,使用Timer类,我们可以说:new Timer(new Task).schedule(),然后它将立即开始执行任务,下面的配置将如何工作 public class CheckEmailAddresses extends TimerTask { private List emailAddres

我想通过spring.xml设置计时器任务,只要加载applicationContext,计时器就会启动

我正在阅读Spring的本教程:

但我没有找到任何关于spring如何启动计时器的信息。例如,使用Timer类,我们可以说:new Timer(new Task).schedule(),然后它将立即开始执行任务,下面的配置将如何工作

public class CheckEmailAddresses extends TimerTask {

  private List emailAddresses;

  public void setEmailAddresses(List emailAddresses) {
    this.emailAddresses = emailAddresses;
  }

  public void run() {
    // iterate over all email addresses and archive them
  }
}
弹簧配置:

<bean id="checkEmail" class="examples.CheckEmailAddress">
    <property name="emailAddresses">
        <list>
            <value>test@springframework.org</value>
            <value>foo@bar.com</value>
            <value>john@doe.net</value>
        </list>
    </property>
</bean>
<bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
    <!-- wait 10 seconds before starting repeated execution -->
    <property name="delay" value="10000" />
    <!-- run every 50 seconds -->
    <property name="period" value="50000" />
    <property name="timerTask" ref="checkEmail" />
</bean>
<bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean">
    <property name="scheduledTimerTasks">
        <list>
            <!-- see the example above -->
            <ref bean="scheduledTask" />
        </list>
    </property>
</bean>

test@springframework.org
foo@bar.com
john@doe.net

org.springframework.scheduling.timer.TimerFactoryBean将在初始化应用程序上下文后设置计时器

使用源代码: