B컷개발자 2013. 3. 8. 15:41
728x90

참고 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/scheduling.html#scheduling-jdk-timer



스프링프레임워크 버전이 올라가면서 Deprecated됨.


Task

: 로직 처리 Bean.

  MethodInvokingTimerTaskFactoryBean를 이용하여 Task를 invoke 시킬 수 있음.



<bean name="printTask" class="com.tistory.codesnippet.schedule.timer.PrintTask" /> 



Job

TimerTask 상속받은 클래스.

  run() 메서드를 Override하여 로직 처리.

  Task를 통하여 로직처리.



<bean name="printJob" class="com.tistory.codesnippet.schedule.timer.PrintJob">

<property name="printTask" ref="printTask" />

</bean> 



Trigger

: ScheduledTimerTask 클래스로 정의

  delay, period를 지정가능.

  timerTask를 통해서 Task 참조.



<bean id="trigger" class="org.springframework.scheduling.timer.ScheduledTimerTask">

<property name="delay" value="1000" />

<property name="period" value="5000" />

<property name="timerTask" ref="printJob" />

</bean> 



Scheduler

: TimerFactoryBean을 이용.

  daemon 여부 및 trigger 작동



<bean id="scheduler" class="org.springframework.scheduling.timer.TimerFactoryBean">

<property name="daemon"></property>

<property name="scheduledTimerTasks">

<list>

<!-- see the example above -->

<ref bean="trigger" />

</list>

</property>

</bean>  




첨부파일: http://codesnippet.tistory.com/9 참조




728x90