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

반응형
복사했습니다!