2011-01-04 3 views
3

저는 봄에 처음이에요. 10 초마다 메서드를 호출하는 schedular를 구현했습니다. 모양은 다음과 같습니다.내 수업 방법에서 석영 스케쥴을 시작하고 중지하려면 어떻게해야합니까? 봄 스케줄링

<bean id="bidApprovalJob" 
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
     <property name="targetObject" ref="bidApprovalOperations" /> 
     <property name="targetMethod" value="checkExpiredAuctions" /> 
     </bean> 
    <!-- Simple Trigger --> 
    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> 
     <property name="jobDetail" ref="bidApprovalJob" /> 
     <property name="repeatInterval" value="10000" /> 
    <!-- 5second delay mentioned in milliseconds --> 
     <property name="startDelay" value="5000" /> 
     </bean> 
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="jobDetails"> 
    <list> 
     <ref bean="bidApprovalJob" /> 
     </list> 
     </property> 
    <property name="triggers"> 
    <list> 
     <ref bean="simpleTrigger" /> 
     </list> 
     </property> 
     </bean> 

그러나이 일정은 항상 실행됩니다. 사용자가 버튼을 클릭하고 일정 시간 후 중지 할 때 런타임에 일정을 시작하고 싶습니다.

내 수업 방법에서 일정을 시작할 수 있습니까? 수업 시간표를 작성한 다음 시작하고 중지 할 수 있습니까?

미리 감사드립니다.

답변

3

SchedulerFactoryBean에 의해 작성된 Scheduler에는 standby() 및 start() 메소드가 있으며이 메소드를 사용하여 트리거 실행을 제어 할 수 있습니다.

+0

나는 수업 시간에 콩을 가져 가고 싶다. getbean 메소드를 사용하여 컨트롤러 클래스에서 bean을 얻으려면 어떻게해야합니까? 이것은 동적 웹 응용 프로그램입니다. 모든 샘플 구문이 도움이 될 것입니다. 고맙습니다. – Sagar

+1

스케쥴러 (SchedulerFactoryBean 클래스를 통해 생성 된 스케쥴러)로 빈에 ID를 부여하고 스케쥴러에 대한 액세스가 필요한 다른 빈에 ID를 주입하십시오. – Stas

+0

다른 빈에 주입하고 싶지 않습니다. 내 클래스 메서드에서 schedular의 인스턴스를 만들고 싶습니다. 그래서 어떻게 내 클래스 메서드 에서이 콩 (Schedular)에 액세스 할 수 있습니까? – Sagar

관련 문제