[java] Spring Framework의 스케줄링 기능 활용하기

스프링 프레임워크는 많은 개발자들에게 사랑받고 있는 자바 기반의 오픈 소스 프레임워크입니다. 스프링은 다양한 모듈을 제공하며, 이 중 하나인 스프링 스케줄링을 사용하여 자동으로 작업을 예약하고 실행할 수 있습니다.

스프링 스케줄링 설정하기

  1. 의존성 추가하기

    먼저 스프링 스케줄링을 사용하기 위해 필요한 의존성을 추가해야 합니다. pom.xml 파일에 다음 의존성을 추가합니다.

     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter</artifactId>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-jpa</artifactId>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-quartz</artifactId>
     </dependency>
    
  2. 스케줄러 빈 등록하기

    스프링 부트에서 스케줄링을 사용하기 위해서는 @EnableScheduling 애노테이션을 사용하여 스케줄링 기능을 활성화해야 합니다. 이를 위해서는 @Configuration 애노테이션이 부여된 설정 클래스에 @EnableScheduling 애노테이션을 추가합니다.

     @Configuration
     @EnableScheduling
     public class SchedulingConfig {
            
     }
    
  3. 스케줄링 메서드 작성하기

    스케줄링을 사용할 메서드에는 @Scheduled 애노테이션을 추가하여 작업의 스케줄을 설정할 수 있습니다. 이 애노테이션의 속성으로는 fixedDelay, fixedRate, cron 등이 있으며, 각각 다른 방식으로 스케줄링 작업을 수행할 수 있습니다.

     @Component
     public class MyScheduler {
            
         @Scheduled(fixedDelay = 5000)
         public void doSomething() {
             // 스케줄링 작업을 수행할 코드 작성
         }
            
     }
    

스케줄링 타입에 대한 설명

마무리

이제 스프링 스케줄링을 활용하여 자동으로 작업을 예약하고 실행할 수 있는 방법을 알아보았습니다. 스프링을 사용하는 개발자라면 스케줄링을 통해 작업을 자동화할 수 있으므로, 이를 적절히 활용하여 개발 생산성을 높여보세요.

참고 문서: https://docs.spring.io/spring-framework/docs/current/reference/html/integration.html#scheduling