Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스프링부트
- Spring
- 스프링 스케줄러
- C++
- codility
- spring scheduler
- GOF
- Dependency
- mybatis
- 프로그래머스
- pair
- 스프링 부트
- @Scheduled
- Spring Mail
- 스프링 메일
- maven
- 스프링
- Collections
- HashMap
- springboot
- 의존성관리
- vuejs #vue #js #프론트엔드 #nodejs #클라이언트사이드 #템플릿엔진
- Arrays
- list
- Spring Boot
- 코딩테스트
- java
- pom.xml
- thymeleaf
- 프로젝트 구조
Archives
- Today
- Total
Rooted In Develop
간단한 스프링 스케줄러(Spring Scheduler) 사용하기 : @Scheduled Annotation 본문
Back End/Spring Boot
간단한 스프링 스케줄러(Spring Scheduler) 사용하기 : @Scheduled Annotation
RootedIn 2019. 8. 19. 23:29Spring Quartz 없이 간단하게 스케줄러를 사용해보자.
1. @EnableScheduling
package me.rooted.mail;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@SpringBootApplication
public class SpringMailThymeleafApplication {
public static void main(String[] args) {
SpringApplication.run(SpringMailThymeleafApplication.class, args);
}
}
2. Job Class 생성
package me.rooted.mail.scheduler;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.mail.MessagingException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import me.rooted.mail.service.MailService;
@Component
public class MailJob {
@Autowired
MailService mailService;
@Scheduled(cron = "0/20 * * * * ?")
public void mailJob() throws MessagingException, IOException {
Map<Object,Object> map = new HashMap<Object,Object>();
map.put("anykey", "mailJob value");
System.out.println("### SEND MAIL START ###");
mailService.sendMail(map);
System.out.println("#### SEND MAIL END ####");
}
}
여기서 중요한 점은 @Scheduled(cron = "0/20 * * * * ?" 이다. 이것은 20초마다 해당 Job을 실행시키도록 한다.
Cron은 "초 분 시 일 월 요일 연도"로 이루어져있고, 주기적인 실행을 원한다면 0/{주기} 로 설정하면 된다.
이상 Cron에 대한 부가적인 설명은 생략한다.
3. 프로젝트 우클릭 → Run As → Spring Boot App 클릭
4. 실행 결과
이렇게 간단한 스프링 스케줄러 세팅이 끝났다.
'Back End > Spring Boot' 카테고리의 다른 글
스프링 부트 스케줄러 @Scheduled 어노테이션 사용법(@Scheduled Annotation) (0) | 2020.04.22 |
---|---|
Spring Boot 프로젝트 구조 (0) | 2019.12.27 |
Spring Boot 원리 : 자동 설정(Auto Configuration) (1) | 2019.09.02 |
Spring Boot 원리 : 의존성(Dependency) 관리 (0) | 2019.09.02 |
Spring Boot 메일 전송 : Spring Boot 2, Mail, Thymeleaf (2) | 2019.08.19 |
Comments