SpringBoot 비공 식 튜 토리 얼 | 제1 8 편: 정시 퀘 스 트 (스케줄 링 태 스 크)

전재 출처 표시:http://blog.csdn.net/forezp/article/details/71023783 본문 은 방지 붕 의 블 로그 에서 나 온 것 이다.
이 글 은 스프링 을 통 해 스케줄 링 임 무 를 어떻게 하 는 지 소개 할 것 이다.
구축 공정
Springboot 프로젝트 를 만 들 고 프로그램 입구 에 @ Enable Scheduling 을 추가 하여 스케줄 링 작업 을 시작 합 니 다.
@SpringBootApplication
@EnableScheduling
public class SpringbootSchedulingTasksApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootSchedulingTasksApplication.class, args);
    }
}


정시 작업 생 성
5s 가 지나 면 콘 솔 에서 현재 시간 을 인쇄 하 는 정시 작업 을 만 듭 니 다.
@Component
public class ScheduledTasks {

    private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        log.info("The time is now {}", dateFormat.format(new Date()));
    }
}

방법 에 @ Scheduled 주 해 를 추가 하여 이 방법 이 스케줄 링 작업 임 을 나타 낸다.
  • @ Scheduled (fixed Rate = 5000): 지난번 실행 시작 시점 이후 5 초 만 에 실행
  • @ Scheduled (fixedDelay = 5000): 지난번 실행 완료 시점 이후 5 초 만 에 실행
  • @ Scheduled (initial Delay = 1000, fixed Rate = 5000): 첫 번 째 지연 1 초 후 실행 하고, 이후 fixed Rate 의 규칙 에 따라 5 초 마다 실행
  • @ Scheduled (cron = "/ 5"): cron 표현 식 을 통 해 규칙 을 정의 합 니 다. cro 표현 식 이 무엇 인지 자체 검색엔진 입 니 다.

  • 테스트
    springboot 프로젝트 를 시작 하면 콘 솔 이 5s 도 지나 지 않 아 현재 시간 을 출력 합 니 다.
    2017-04-29 17:39:37.672 INFO 677 --- [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:37 2017-04-29 17:39:42.671 INFO 677 --- [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:42 2017-04-29 17:39:47.672 INFO 677 --- [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:47 2017-04-29 17:39:52.675 INFO 677 --- [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:52
    총결산
    springboot 에서 정시 작업 을 만 드 는 것 은 간단 합 니 다. 2 단계 만 있 으 면 됩 니 다:
  • 1. 프로그램의 입구 에 @ Enable Scheduling 주 해 를 추가 합 니 다.
  • 2. 정시 방법 에 @ Scheduled 주 해 를 추가 합 니 다.

  • 참고 자료
    https://spring.io/guides/gs/scheduling-tasks/
    원본 코드 다운로드
    https://github.com/forezp/SpringBootLearning
    우수 글 추천:
  • 더 많은 springboot 튜 토리 얼: springBoot 비공 식 튜 토리 얼 | 글 모음
  • 더 많은 springcoud 튜 토리 얼: 역사상 가장 간단 한 SpringCloud 튜 토리 얼 | 글 모음
  • 좋은 웹페이지 즐겨찾기