Spring Boot에서 @Scheduled를 사용하여 정시 작업 만들기

1942 단어 springboot
우리는 Spring Boot 응용 프로그램을 작성하는 과정에서 이런 장면을 자주 볼 수 있다. 예를 들어 나는 특정한 시간에 문자, 메일 같은 조작을 보내야 하고 특정한 표지, 파라미터 등을 정기적으로 검사하고 감시해야 한다.
정시 작업 만들기
Spring Boot에서 타임 퀘스트를 작성하는 것은 매우 간단한 일이다. 다음은 Spring Boot에서 타임 퀘스트를 만드는 방법을 실례를 통해 5초마다 현재 시간을 출력하는 방법을 소개한다.
Spring Boot 마스터 클래스에 @EnableScheduling 메모를 추가하여 정시 작업 구성을 활성화합니다.

 @SpringBootApplication
@EnableScheduling
public class SpringbootScheduletaskApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringbootScheduletaskApplication.class, args);
  }
}

@Component
public class ScheduledTasks {
  private static final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
  @Scheduled(fixedRate = 5000)
  public void reportCurrentTime() {
    System.out.println(" :" + sdf.format(new Date()));
  }
}
시간 작업 실행 클래스 만들기
실행 프로그램, 컨트롤러에서 다음과 같은 출력을 볼 수 있으며, 정시 작업이 정상적으로 작동하기 시작했다.
2016-05-15 10:40:04.073  INFO 1688 --- [           main]           : Started Application in 1.433 seconds (JVM running for 1.967)
현재 시간: 10:40:09
현재 시간: 10:40:14
현재 시간: 10:40:19
현재 시간: 10:40:24
현재 시간: 10:40:29522
현재 시간: 10:40:34
상술한 간단한 입문 예시에 관해서도 공식적인 것을 참고할 수 있다Scheduling Tasks
@Scheduled 상세 정보
위의 시작 예에서 @Scheduled(fixedRate = 5000) 메모를 사용하여 5초마다 수행하는 작업을 정의합니다. @Scheduled의 사용에 대해 다음과 같은 몇 가지 방법을 요약할 수 있습니다.
  • @Scheduled(fixedRate = 5000): 지난번 실행 시작 시간 후 5초 후에 다시 실행합니다
  • @Scheduled(fixedDelay = 5000): 지난번 실행 완료 시간 후 5초 후에 다시 실행합니다
  • @Scheduled(initial Delay=1000,fixedRate=5000): 첫 번째 지연은 1초 후에 실행되고, 이후fixedRate의 규칙에 따라 5초마다 실행됩니다
  • @Scheduled(cron="*/5*********"): cron 표현식을 통해 규칙을 정의합니다
  • 이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

    좋은 웹페이지 즐겨찾기