Spring Boot 웹 애플 리 케 이 션 확장 - 간단 한 정시 작업 기능 구현

만약 에 우리 가 정 해진 시간 에 데 이 터 를 처리 하거나 특정한 기능 을 수행 해 야 하지만 간단 한 시간 에 임 무 를 수행 할 때 우 리 는 Quartz 를 추가 하지 않 고 Spring 프레임 워 크 자체 의 시간 스케줄 러 를 사용 할 수 있다.
먼저 시작 클래스 에 다음 과 같은 주 해 를 추가 합 니 다.
그리고 시작 클래스 에 다음 코드 를 추가 합 니 다:
@Bean
public SchedulingConfigurer simpleTask() {
    return (taskRegistrar) -> taskRegistrar.addTriggerTask(
        () -> System.out.println("Simple Schedule Task:: " 
            + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))), 
        (triggerContext) -> { 
            return new CronSequenceGenerator("*/20 * * * * ?").next(new Date()); }
    );
}

SchedulingConfigurer 의 구현 클래스 를 만 들 고 Scheduled Task Registrar 의 addTrigger Task 방법 을 호출 합 니 다. 이 방법 은 두 가지 매개 변수 중 하 나 는 Runnable 대상 이 고 하 나 는 Trigger 대상 이 며 Runnable 대상 은 우리 의 정시 업무 논리 에 대응 하 며 Trigger 대상 은 우리 가 설정 한 정시 표현 식 에 대응 하 는 정시 트리거 입 니 다.이상 의 인 스 턴 스 는 lambda 표현 식 방식 으로 실현 류 를 만 들 고 상대 적 으로 간결 하 며 실현 류 를 스스로 정의 하거나 내부 류, 익명 류 를 사용 하여 실현 할 수 있 습 니 다.
완료 후 명령 행 에서 다음 명령 을 실행 합 니 다. mvn clean copile spring - boot: run, 정상적으로 시작 하면 배경 에서 다음 과 같은 정 보 를 인쇄 합 니 다.
Simple Schedule Task:: 2019-11-30 22:41:40
Simple Schedule Task:: 2019-11-30 22:42:00
Simple Schedule Task:: 2019-11-30 22:42:20
...

이렇게 간단 한 정시 임무 기능 이 실현 되 었 다.

좋은 웹페이지 즐겨찾기