본문 바로가기

Java/Spring

[Spring] 스케쥴러 만들기

스프링에서 @Scheduled 어노테이션을 이용해 일정 시간마다 프로그램을 돌리는 방법이다

 

 

 

요약 main에 @EnableScheduling 추가 -> 스케쥴러에 @Scheduled(크론식) 추가 =끝=

 

아래는 설명이다

 

 

1. 일단 main 쪽에서 Schedule을 사용 가능하게 만들어줘야된다

@EnableScheduling을 추가해주자

@Override 이부분은 필요 없다.  그냥 위에 @EnableScheduling만 추가해주면된다.

 

2. 하위 패키지에 스케쥴러를 작성해준다.

여기서는 CustomerScheduler.java를 새로 만들어서 관리했지만 그냥 다를 컨트롤러 안에 넣어도 작동 하긴 할거 같다. 위 사진 처럼 하면 5초마다 scheduller()를 돌면서 로그를 출력해준다.

 

 

++스프링 크로식은 필드가 6개여야한다 일반 크론식을 사용하면 에러가 나니 삽질하지 말자!

 

크론 설명

(초 분 시 일 월 년) < 각 필드별 값

0 0 0 1/1 * * >> 0초 0분 0시 1/1일(하루마다) *(모든월) *(모든년) ==>>매일 0시0분0초

0/5 * * * * * >> 5초마다 *분 *시 *일 *년 =>5초마다

5 * * * * * >> *년 *월 *일 *시 *분 5초 일때 ==> ex) 1분 05초 2분 05초...

(대강 이런 느낌이다 쉬우니 다들 알거라 생각한다 이해 안되면 크론 설명은 다른곳을 참고하자 설명하기 힘드넹)

 

아래 사이트는 크론 생성 사이트다 만져보면 감이 올거다

http://www.cronmaker.com/

 

CronMaker

 

www.cronmaker.com

 

 

 

 

+ 참고) 이거는 bean 사용한거 같다 다른 방법이라서 나는 자세히 안봤다.

https://kanetami.tistory.com/entry/Schedule-Spring-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%EC%BC%80%EC%A5%B4-%EC%84%A4%EC%A0%95%EB%B2%95-CronTab

 

@Schedule Spring 스프링 스케쥴 설정법 & CronTab

******************************************************************************************************** 스프링 MVC 에서 일정 시간 주기적으로 작업하는 스케쥴러를 만들어 본다. 일단 root-context.xml을..

kanetami.tistory.com

+참고 사이트 https://jeong-pro.tistory.com/186

 

@Scheduled 사용법, 스케줄러 커스터마이징을 통한 제어(+스케줄러에 등록한 작업 중지하는 방법, 배치 효과, 정확한 주기 작업 사용법)

@Scheduled 사용법 주기적인 작업이 있을 때 @Scheduled 애노테이션을 사용하면 쉽게 적용할 수 있다. ex) linux의 crontab 1. @EnableScheduling Annotation을 적어서 스케줄링을 사용한다는 것을 알린다. @Enab..

jeong-pro.tistory.com