일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- jquery
- 이클립스
- Oracle
- 스크립트
- 오라클
- spring form tag
- 날짜
- java
- 호환성
- exception
- 톰캣
- @RequestBody
- RADIO
- null
- html
- JSTL
- php
- SSL
- 네이버스마트 에디터
- 웹 플랫폼 설치 관리자
- HTML5
- switch
- maven
- checbox
- DB
- 문자열
- 전자정부 표준프레임워크
- 한글
- json
- MYSQL
- Today
- Total
개인적인 정리
스케줄러 사용법 본문
전자정부프레임워크 스케쥴러 사용법
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte:fdl:scheduling
Scheduling 서비스
quartz를 이용한 방법
간단한 방법 !!!!
1. 라이브러리 복사
전자정부프레임워크를 사용하면 이미 라이브러리가 들어 있을 것 같다.
quartz-2.1.7.jar
quartz-jobs-2.2.1.jar
의 라이브러리가 필요하다.(버전이야 꼭 이 버전일필요는 없을 것 같고, 전자정부프레임워크에 이미 들어있는 버전이 이 버전이었다)
* 라이브러리가 없는 경우
1) 메이븐을 사용하는 경우라면 pom.xml 에 다음과 같이 추가해준다.
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.1.7</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
2) 메이븐을 사용하지 않는 경우
quartz-2.1.7.jar
quartz-jobs-2.2.1.jar
을 구해서 WEB-INF/lib 에 넣어준다.
2. context-scheduling.xml 파일을 생성한다.
resources/egovframework/spring/com/ 아래 생성한다.
파일명은 큰 의미는 없다.
**파일명 생성시 주의
web.xml 을 확인해보면 아래와 같은 구문이 있다.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:egovframework/spring/com/**/context-*.xml</param-value>
</context-param>
이 구분에 맞는 조건의 xml 파일을 임의로 생성한다.
* targetObject 는 편의상 service 명으로 했다.
* 작업, 트리거, 스케쥴러 3개를 하나의 세트라고 생각하면 되겠다.
내용은 아래와 같다
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<!-- aaaa 작업 정의 -->
<bean id="aaaaEvents" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="AaaaEventsService" /> <!-- service 명 -->
<property name="targetMethod" value="aaaaInsert" /> <!-- service 내의 method 명 -->
<property name="concurrent" value="false" />
</bean>
<!-- aaaa 트리거 정의 -->
<bean id="aaaaEventstrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="aaaaEvents" />
<property name="cronExpression" value="0 00 6 ? * *" /> <!-- 매일 아침 6시에 살행 -->
</bean>
<!-- bbbb 작업 정의 -->
<bean id="bbbbBlog" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="BbbbBlogService" />
<property name="targetMethod" value="insertBbbbBlog" />
<property name="concurrent" value="false" />
</bean>
<!-- bbbb 트리거 정의 -->
<bean id="bbbbBlogTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="bbbbBlog" />
<property name="cronExpression" value="0 00 7 ? * *" />
</bean>
<!-- 공지사항 작업 정의 -->
<bean id="notice" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="NoticeService" />
<property name="targetMethod" value="insertNotice" />
<property name="concurrent" value="false" />
</bean>
<!-- 공지사항 트리거 정의 -->
<bean id="noticeTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="notice" />
<property name="cronExpression" value="0 30 * * * ?" />
</bean>
<!-- 스케줄러 정의 -->
<bean id="ddddScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="aaaaEventstrigger" />
<ref bean="bbbbBlogTrigger" />
<ref bean="noticeTrigger" />
</list>
</property>
</bean>
</beans>
'전자정부표준프레임워크' 카테고리의 다른 글
자바로 외부 이미지를 로컬에 저장 (0) | 2018.10.31 |
---|---|
자바로 썸네일 이미지 만들기 (0) | 2018.10.31 |
svn repository url 변경 (0) | 2018.10.30 |
VO 를 json으로 변경 (0) | 2018.10.29 |
2개 이상의 데이타베이스 사용(데이타베이스 설정 추가) (0) | 2018.09.22 |
LISTAGG, WM_CONCAT (0) | 2018.09.12 |
public 메소드부터 반환된 private 배열 보안코드 예시 (0) | 2018.09.11 |
크롬에서 jsessionid가 문제가 될 때 (0) | 2018.09.11 |