일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spring
- rocky9
- mybatis
- Eclipse
- MSsql
- nodejs
- post
- NextJS
- jquery
- jenkins
- MariaDB
- node.js
- Java
- config
- SpringBoot
- Next.js
- docker
- popup
- security
- console
- javascript
- ajax
- git
- Maven
- centos7
- spring3
- yona
- mysql
- PM2
- submit
- Today
- Total
ふたりで
springboot @Scheduled 사용 해 보기 본문
1. @EnableScheduling 어노테이션을 해당 프로젝트의 Application.java 클래스에 달아 준다.
예)
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
@SpringBootApplication
@EnableEncryptableProperties
@EnableScheduling//스케쥴러 사용을 위한 어노테이션
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
2. @Component와 @Scheduled 스케쥴러가 동작되는 서비스 클래스에 명시해 준다.
예)
import org.joda.time.LocalDateTime;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduleTaskService {
@Scheduled(fixedDelay = 20000)//1000 = 1초 2만으로 설정 해서 20초마다 동작
public void taskOne() {
System.out.println("default schedule GetTime:"+LocalDateTime.now());
}
@Scheduled(cron = "0/5 * * * * *")//0초에 시작해서 이후 5초마다 실행.
public void taskTwo() {
System.out.println("cron schedule GetTime:"+LocalDateTime.now());
}
}
3. cron 옵션 예시
"0 0 12 * * ?" : 아무 요일, 매월, 매일 12:00:00
"0 30 10 ? * *" : 모든 요일, 매월, 아무 날이나 10:30:00
"0 15 10 * *?" : 아무 요일, 매월, 매일 10:15:00
"0 10 11 * * ? *" : 모든 연도, 아무 요일, 매월, 매일 11:10
"0 * 14 * * ?" : 아무 요일, 매월, 매일, 14시 매분 0초
"0 15 10 * * ? : 2005" 2005년 아무 요일이나 매월, 매일 10:15
"0 0/5 14 * * ?" : 아무 요일, 매월, 매일, 14시 매 5분마다 0초
"0 0/5 14,18 * * ?" : 아무 요일, 매월, 매일, 14시, 18시 매 5분마다 0초
"0 0-5 14 * * ?" : 아무 요일, 매월, 매일, 14:00부터 매 14:05까지 매 분 0초
"0 10,44 14 ? 3 WED" : 3월의 매주 수요일, 아무 날짜나 14:10:00, 14:44:00
"0 15 10 ? * MON-FRI" : 월~금, 매월, 아무 날이나 10:15:00
"0 15 10 15 * ?" : 아무 요일, 매월 15일 10:15:00
"0 15 10 L * ?" : 아무 요일, 매월 마지막 날 10:15:00
"0 15 10 ? * 6L" : 매월 마지막 금요일 아무 날이나 10:15:00
"0 15 10 ? * 6L 2002-2005" : 2002년부터 2005년까지 매월 마지막 금요일 아무 날이나 10:15:00
"0 15 10 ? * 6#3" : 매월 3번째 금요일 아무 날이나 10:15:00
'Spring' 카테고리의 다른 글
springboot2.3.X SchedulerConfig (0) | 2020.12.21 |
---|---|
SpringBoot+Security ajax Unauthorized request filter (0) | 2020.12.18 |
springboot2+mybatis+maven 다중(멀티) datasource 설정. (0) | 2020.12.11 |
response Body에 담긴 Json 문자 파싱 (0) | 2020.12.01 |
jasypt 를 이용한 properties DB정보 암호화 (0) | 2020.07.22 |