2016-08-23 3 views
1

나는 스케쥴러 주석이있는 Spring Boot를 사용하여 성공적으로 실행되지만 어떻게 멈추거나 멈출 수 있습니까?@Scheduled annotation을 사용하는 스톱 타이머

@Component 
public class UpAndDown { 
    @Scheduled(fixedRate = 2000) 
    public void upAndDown() {} 
} 
+0

중지하거나 일시 중지 할 조건은 무엇입니까? –

답변

0

가장 쉬운 방법은이 기능의 사용 가능 여부를 추적하는 플래그를 지정하는 것입니다. 분명히 타이머를 멈추지 않을 것입니다

@Component 
public class UpAndDown { 
    private boolean triggerEnabled = true; 

    public void setTriggerEnabled(boolean triggerEnabled) { 
     this.triggerEnabled = triggerEnabled; 
    } 

    @Scheduled(fixedRate = 2000) 
    public void upAndDown() { 
     if(triggerEnabled) { 
      doTheStuff(); 
     } 
    } 
} 

이, 그러나 효과적으로 인프라 콩 덤비는없이, 당신이하고 싶은 일을 할 것입니다 : 다음, 당신의 방법에 그 플래그를 확인합니다.

관련 문제