Spring Boot

[Spring Boot] 스케줄러 등록

블체. 2025. 6. 20. 23:39

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();}
	}

 

반응형