728x90
반응형
스케줄러 간단한 설정 방법 정리
프로젝트를 하다보면 스케줄러를 설정해야 할 일이 종종 있음
bean 설정 파일을 수정하고 스케줄러에 등록할 내용만 작성하면 됨
1️⃣ bean 설정 파일 수정
servelt-context.xml에 표시해놓은 내용 추가
코드 예시 👇
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<task:annotation-driven />
<beans:bean id="[스케줄러 아이디]" class="[스케줄러 경로]" />
<!-- pool-size 지정하지 않을 경우 쓰레드 풀의 기본값은 1 -->
<task:scheduler id="scheduler" pool-size="10"/>
<task:executor id="executor" pool-size="10"/>
2️⃣ Scheduler Service 작성
위의 class에 작성해준 경로와 일치해야 함
5초마다 실행되는 스케줄러 작성
상세 설정이 필요한 경우 cron으로 작성하는 것이 편리
코드 예시 👇
package com.project.solr.common;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Service
public class SolrScheduler {
@Scheduled(fixedDelay = 5000)
public void test() {
System.out.println("========================-5초마다 실행====================");
}
@Scheduled(cron="*/5 * * * * *")
public void test2(){
System.out.println("========================-5초마다 실행====================");
}
}
Cron 표현식 정리 👉 https://carpet-part1.tistory.com/421
반응형