Spring Boot (6) - Spring Boot 의 정시 작업
6016 단어 프레임 프로 그래 밍
1. pom. xml 설정
pom 가방 안에 springboot starter 가방 만 들 어 오 면 됩 니 다.
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starterartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-devtoolsartifactId>
<optional>trueoptional>
dependency>
dependencies>
2. 시작 클래스 사용 시간
시작 클래스 에 @ Enable Scheduling 을 추가 하면 시간 을 정할 수 있 습 니 다.
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3. 정시 퀘 스 트 실현 클래스 생 성
정시 퀘 스 트 1:
@Component
public class Scheduler1Task {
private int count=0;
@Scheduled(cron="*/6 * * * * ?")
private void process(){
System.out.println("this is scheduler1 task running " + count++);
}
}
정시 퀘 스 트 2:
@Component
public class Scheduler2Task {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 6000)
public void reportCurrentTime() {
System.out.println(" :" + dateFormat.format(new Date()));
}
}
결 과 는 다음 과 같다.
this is scheduler task running 0
:14:10:49
this is scheduler task running 1
:14:10:55
this is scheduler task running 2
:14:11:01
this is scheduler task running 3
:14:11:07
매개 변수 설명:
(1) @ Scheduled 인 자 는 두 가지 정시 설정 을 받 아들 일 수 있 습 니 다. 하 나 는 우리 가 자주 사용 하 는 cron = "/ 6 * * *?" 입 니 다.하 나 는 fixed Rate = 6000 이 고 두 가 지 는 모두 6 초 마다 내용 을 인쇄 한 다 는 것 을 나타 낸다.
(2) fixedRate 설명
@ Scheduled (fixed Rate = 6000): 지난번 실행 시작 시점 이후 6 초 만 에 실행 @ Scheduled (fixed Delay = 6000): 지난번 실행 완료 시점 이후 6 초 만 에 실행 @ Scheduled (initial Delay = 1000, fixed Rate = 6000): 첫 번 째 지연 1 초 후에 실행 하고, 이후 fixed Rate 의 규칙 에 따라 6 초 마다 실행 합 니 다.