본문으로 바로가기

Spring 스케쥴러 사용

category IT/Java & Jsp & Spring 2019. 10. 4. 15:55

주기적인 반복 수행을 위한 스케줄러를 등록하기 위해 여러가지 방법이 있다.

 - Quartz 라이브러리 / Thread Sleep / 리눅스 Crontab / Spring 스케쥴러 등등

 

위 중 Spring 스케쥴러 등록을 위한 방법은 아래와 같다.

  1. spring 설정 xml 파일 수정
  2. 어노테이션 추가

 

#1. spring 설정 xml 수정

 

application-config.xml

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

 

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xmlns:context="http://www.springframework.org/schema/context"

      xmlns:aop="http://www.springframework.org/schema/aop"

      xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task"

      xsi:schemaLocation="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

      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd

      http://www.springframework.org/schema/task

      http://www.springframework.org/schema/task/spring-task-3.0.xsd">

 

 

    <context:component-scan base-package="com.skp.cmdb" />

 

 

    <task:annotation-driven executor="myExecutor" scheduler="myScheduler"/>

    <task:executor id="myExecutor" pool-size="5"/>

    <task:scheduler id="myScheduler" pool-size="10"/>

</beans>

 

 

 

 

 

아래 설정 추가 http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd <context:component-scan base-package="com.skp.cmdb" /> <task:annotation-driven executor="myExecutor" scheduler="myScheduler"/>
<task:executor id="myExecutor" pool-size="5"/>
<task:scheduler id="myScheduler" pool-size="10"/>

 

#2. 어노테이션 추가

스케줄러

@Scheduled(cron="0 30 6 * * *") //매일 오전 6시30분에 수행

public void getSomething() throws Exception {

    //do something...

}

 

'IT > Java & Jsp & Spring' 카테고리의 다른 글

Spring Scheduler Lock 설정 in 멀티 클러스터  (0) 2019.10.04
HTTP와 HTTPS의 차이점  (0) 2017.12.22
JAVA 개발환경 셋팅하기 with JDK, Eclipse  (0) 2017.11.11
SFTP 파일전송  (0) 2017.11.10