스프링

[Spring] 스프링부트 스케줄러 사용하기

nan2 2022. 3. 29. 09:53
반응형

 

1. @SpringBootApplication 이 선언된 패키지에 @EnableScheduling 애노테이션을 선언한다.

* @EnableScheduling 은 @SpringBootApplication 이 선언된 패키지 또는 하위 패키지에 붙여야 함.

@SpringBootApplication
@EnableScheduling
public class SchedulerApplication{
   
    public static void main(String[] args){
        SpringApplication.run(SchedulerApplication.class, args);
    }
    
}

 

 

2. 스케줄러를 구현할 class에 @Component 애노테이션을 선언한다.

 

 

3. 스케줄러가 되는 메서드에 @Scheduled 애노테이션을 선언한다.

* @Scheduled 애노테이션은 @EnableScheduling 이 선언된 패키지 또는 하위 패키지에서만 정상 동작 함.

* 이때, 스케줄러 메서드의 반환 타입은 void 타입이어야 함.

@Slf4j
@RequiredArgsConstructor
@Component
public class GoodsPost{

    @Scheduled(cron="${schedule.GoodsPost}")
    public void scheduled(){
        ...
    }
    
}

 

 

4. 스케줄러가 실행될 시간을 설정해준다.

cron, fixedDelay, fixedRate, fixedDelayString, fixedRateString, initialDelay, initialDelayString 이 존재한다.

 

반응형