일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Web Server
- Spring
- ubuntu
- JVM
- Oracle
- Spring Boot
- Design Patterns
- MySQL
- it
- java
- 요리
- jsp
- elasticsearch
- 맛집
- php
- ReactJS
- javascript
- jenkins
- Gradle
- redis
- IntelliJ
- springboot
- Spring Batch
- tool
- AWS
- laravel
- devops
- db
- linux
- Git
Archives
- Today
- Total
아무거나
[Spring Boot] 스케줄링 구현 본문
반응형
스케줄링
- Scheduler
- Spring Boot에서 @EnableScheduling, @Scheduled를 사용한 스케줄링 구현
-
메인 메소드가 있는 애플리케이션 구동 클래스인 Application.java에 @EnableScheduling 설정 및 @Bean 추가
.... import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling public class Application { public static void main(String[] args) { ApplicationContext ctx = SpringApplication.run(Application.class, args); } @Bean public TaskScheduler taskScheduler() { // 단일 스레드 구현 return new ConcurrentTaskScheduler(); } }
-
스케줄링을 적용시킬 클래스를 생성하고 메소드를 추가
.... import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class CronExample { // 매일 3시 20분 0초에 실행 @Scheduled(cron = "0 20 3 * * *") public void exampleJob1() { // 실행할 로직1 } // 매월 3일 0시 0분 0초에 실행 @Scheduled(cron = "0 0 0 3 * *") public void exampleJob2() { // 실행할 로직2 } // 3초마다 실행 @Scheduled(fixedRate = 3000) public void exampleJob3() { // 실행할 로직3 } // 애플리케이션 시작 후 30초 후에 첫 실행, 그 후 매 10초마다 주기적으로 실행 @Scheduled(initialDelay = 30000, fixedDelay = 10000) public void exampleJob4() { // 실행할 로직4 } }
-
- Spring Boot에서 @EnableScheduling, @Scheduled를 사용한 스케줄링 구현
반응형
'Java & Kotlin > Spring' 카테고리의 다른 글
[SpringBoot] 간단한 Interceptor 구현 (0) | 2019.01.16 |
---|---|
[Spring Boot] @ComponentScan 이란 (0) | 2019.01.16 |
[Spring Boot] Spring Boot에서 Tomcat연동 설정 (0) | 2019.01.07 |
[Spring Boot] logback을 이용한 sql log 콘솔에 출력 (0) | 2018.12.27 |
[Spring Boot] 간단한 테스트 코드 작성 (0) | 2018.12.06 |
Comments