역시 항상 그렇진 않지만 스프링에서 스케줄러를 구현하는 거슨 그냥 쉽당.
크게 2가지 방법이 있는뎅, 그냥 제공되는 걸 쓰는 거랑.
추가 라이브러리(Quatz)를 사용하는 거당.
쪼메 면밀하고 세심하게 하고플 땐 Quarts를
그저 그렇게 편하게 하고프다면 제공되는 걸 사용하장.
먼저 제공되는 걸 사용하는 법을 보장!
root-context.xml에 아래내용을 추가하장!
<!-- 어노테이션을 이용 자바 설정파일 사용 활성화 -->
<context:annotation-config/>
task 네임스페이스를 이용해서 xml로 설정 가능하지만, 개인적인
판단은 task xml설정 방식은 그지같당. 헷갈리게만 한당. (아래방식 추천)
아래 처럼만 클래스 파일 1개만 맹글어주면 그냥 스케줄링을 쓸수 있당.(참 좋당!)
@Configuration
@EnableScheduling
public class ScheduleConfig {
}
테스트용 클래스를 1개 맹글어서 실행해 보장
@Slf4j
@Service
public class ScheduleTest {
@Scheduled(fixedDelay = 3000)
public void runPerThreeSeconds() {
log.debug("check:" + "3초마다 찍혀용");
}
/*초 분 시 일 월 요일 */
@Scheduled(cron = "10 10 10 * * *")
public void runPerCronSetting() {
log.debug("check:" + "매일 10시 10분 10초에 찍혀용");
}
}
cron 표현식은 구글 껌색으로 잘 된 거에 엄지척 달아주고 가져와요~~
실행 보았다면 바로 느낌이 왔을 거시당.
내친 김에 Quartz도 잠시나마 확인해 보장.
pom.xml 에 아래 라이브러리 추가한당. (버젼은 알아서 한당!)
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.3.2</version>
</dependency>
root-context.xml 또는 servlet-context.xml에 annotation 사용한다고 지정
주의 : component-scan 다음에 쓰도록 하세용
<context:component-scan base-package="kr.pe.e7e" />
<task:annotation-driven/>
@Component
@Slf4j
public class ScheduleCheckTask {
@Scheduled(cron = "0/10 * * * * *")
public void checkTask() {
log.warn("이 메세지가 주기적으로 10초마다 나와야 해용!");
}
}
머 크게 다르지 않당.
아역배우 출신이어서
카메라 앞에선 무섭도록 당당했던 그....녀 마일리 사이러스
드뎌 세월의 슬픈 무게를 느꼈던 껄깡?
나도 한땐 젊었는데! ㅠㅠ 생각만으로 눈물이 줄줄난당.
이제 눈물따윈 바람에게 주고, 스케줄을 쥐어짜도록 하장.
아직 버텨야 할 날들의 기럭지 그림자는 더 길고 길당!
https://www.youtube.com/watch?v=IZ3XMOdOdKM
Security 맛보기 (0) | 2022.05.06 |
---|---|
Filter(필터) 인터셉터와 구분해 주세요 (3) | 2022.05.04 |
인터셉터(가로채깅) (1) | 2022.05.03 |
Exception(예외) 처리 할꼉? (6) | 2022.05.02 |
체크 (2) | 2022.05.02 |