1. Application 의 클래스에 @EnableScheduling 가 있어야한다.
2. 스케줄러 파일 작성
간단하게 메서드를 만들고 @Scheduled 어노테이션을 붙여주면된다. 이후 괄호안의 내용으로 반복시간을 지정해준다.
@Scheduled(cron = "* * * * * *")
시간지정에는 규칙이 있다. 5초마다 실행하려면 */5 * * * *
* * * * *
초 분 시 일 월
ex1) 5초마다 반복
@Scheduled(cron = "*/5 * * * * *")
ex2) 하루마다 반복
@Scheduled(cron = "0 0 0 * * *")
package kr.test.scheduler;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import kr.test.custom.test.employ.empAccess.service.EmpAccessService;
@Slf4j
@Component
@RequiredArgsConstructor
public class SessionDataInsert {
private final EmpAccessService empAccessService;
@Async
@Scheduled(cron = "*/5 * * * * *") // 매 5초
public void insertSession() {
empAccessService.insertSession();
}
@Async
@Scheduled(cron = "0 0 0 * * *") // 매 00:00
public void deleteSession() {empAccessService.deleteSession();}
}
반응형