2014-03-27 1 views
0

spring.xml을 통해 타이머 작업을 설정하고 applicationContext가로드 될 때마다 타이머가 시작되어야합니다.Spring TimerFactoryBean이 타이머 작업을 시작하는 방법

나는 봄에서이 튜토리얼을 읽고있다 : http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/scheduling.html

그러나 나는 봄이 실행 타이머 시작을 시작하는 방법에 대한 정보를 찾을 수 없습니다. 예를 들어, 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>[email protected]</value> 
      <value>[email protected]</value> 
      <value>[email protected]</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> 

답변

관련 문제