SlideShare a Scribd company logo
1 of 12
Download to read offline
1Page l 1
전자정부 표준프레임워크
실행환경 - 배치레이어 실습
2Page l 2
LAB 1-6 배치템플릿 프로젝트 생성 및 테스트 실습
LAB 302-1 Job 설정파일 구성 (LAB302-1)
LAB 303-2 File to DB 에서 File to File 으로 변경 (LAB302-2)
실습 목차
3Page l 3
Step 1-6-01. 구현도구에서 eGovFrame>Start>New Batch Template Project 메뉴를
선택합니다.
LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(1/4)
Step 1-6-02. eGovFrame Batch Template Project 위저드에서 File(SAM)을 선택하고
Next를 클릭합니다.
Step 1-6-03. eGovFrame Batch Template Project 위저드에서 Scheduler를 선택하고
Next를 클릭합니다.
4Page l 4
Step 1-6-04. Project name과 Group Id, Artifact Id, Version을 입력하고 Finish를 클릭합니다.
LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(2/4)
항목 입력내용 비고
Project name lab106 수동입력
Group Id egovframe 수동입력
Artifact Id lab106 자동입력
Version 1.0.0 자동입력
Step 1-6-06. 생성된 lab106 프로젝트의 EgovSchedulerJobRunner.java 클래스를 우클
릭하여 Run As > Java Application을 실행한 후 배치 실행 결과를 콘솔에서 확인합니다
.
Step 1-6-05. 생성된 lab106 프로젝트의 데이터베이스를 실행한다.
( DATABASE > db 마우스 우클릭 path tools > Command Line Shell 선택, 커맨드 창
에서 runHsqlDB.cmd 실행)
5Page l 5
LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(3/4)
Step 1-6-08. eGovFrame Batch Job Test 위저드에서 Job 정보
(DelimetedToDelimetedJob)와 Job Launcher 정보를 선택한 후 Generate Batch Test
File 버튼을 클릭합니다.
Step 1-6-07. 구현도구에서 eGovFrame>Test>Batch Job Test메뉴를 선택합니다.
Step 1-6-09. TestCase 클래스 파일 생성을 위해 파일명을 입력하고
OK를 클릭합니다.
항목 입력내용
파일명 BatchJobTest
6Page l 6
LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(4/4)
Step 1-6-10. Test 버튼을 클릭하여 테스트케이스를 실행하여 실행 결과를 확인합니다.
Step 1-6-11. 테스트케이스 파일을 확인합니다.
7Page l 7
LAB 302-1 Job설정파일 구성 (1/3)
Step 302-1-01. 교육프로젝트에서 lab302-batch 마우스 오른쪽 버튼을 이
용하여 프로젝트를 선택 후 메뉴에서 Open Project를 클릭한다.
Step 302-1-02. src/main/resources/egovframework/batch/job/ 하위의
fixedLengthToJdbcJob.xml을 연다.
Step 302-1-03. job설정파일 작성시 필요한 reader/process/writer를
fixedLengthToJdbcJob.xml파일에서 정의된 id를 찾아 입력한다.
<!--
// TODO [Step 3-2-01]
fixedLengthToJdbcJob 에서 사용하게되는 itemReader, itemProcessor, itemWriter들을
찾아서 정의해 준다.
-->
<job id="fixedLengthToJdbcJob" parent="eGovBaseJob"
xmlns="http://www.springframework.org/schema/batch">
<step id="fixedLengthToJdbcStep" parent="eGovBaseStep">
<tasklet>
<chunk reader=""
processor=""
writer=""
commit-interval="2" />
</tasklet>
</step>
</job>
8Page l 8
Step 302-1-04. 이클립스에서 Run As > Maven Install 을 클릭하여
Maven 을 실행한다.
Step 302-1-05. 생성한 프로젝트를 실행하여 결과를 확인한다.
[Eclipse 이용]
lab101 > Run As > Run on Server 클릭 Finish 버튼 클릭
[오류발생시]
구현도구(eclipse) 재기동, Maven Clean , Maven Install
실행 후 다시 Run On Server 실행
LAB 302-1 Job설정파일 구성 (2/3)
9Page l 9
Step 302-1-06. Step 302-1-05. 프로젝트를 톰캣 서버에 실행한 후, 배치
를 실행하여 본다.
(http://localhost:8080/egovframework.brte.template.sam.web-
webapp/)
Step 302-1-07. Data Source Explorer 탭에서 Database
Connections>SampleHSQLDB>Schemas>PUBLIC>Tables로 이
동하여 CUSTOMER의 데이터를 확인한다.
LAB 302-1 Job설정파일 구성 (3/3)
10Page l 10
LAB 302-2 File to DB방식에서 File to File으로 변경 (1/2)
Step 302-2-01. src/main/resources/egovframework/batch/job/ 하위의 fixedLengthToJdbcJob.xml을 연다.
Step 302-2-02. 파일을 읽어 DB에 입력하는 로직을 가지는 XML파일을 DB입력대신 File에 쓰는 기능으로 변경하기 위하여 bean에 매
핑하는 클래스를 EgovJdbcBatchItemWriter 대신 FlatFileItemWriter로 변경한다.
Step 302-2-03. 파일을 만들 위치를 절대경로로 지정한다.
Step 302-2-04. FieldExtractor를 통해 VO의 field값에서 값을 꺼내와서 지정한 Format으로 변환하여 한 라인으로 합친 후에 File에
Write를 수행.
Step 302-2-05. Item의 필드 값들을 1 Line의 String으로 만들 때 필드값의 범위(고정길이) 지정.
<bean id="fixedLengthToJdbcJob.fixedLengthToJdbcStep.jdbcItemWriter"
class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step">
<property name="resource" value="file:C:/eGovFrame-3.5/workspace.edu/lab302-
batch/src/main/resources/egovframework/batch/data/outputs/txtOutput.txt" />
<property name="lineAggregator">
<bean
class="egovframework.brte.core.item.file.transform.EgovFixedLengthLineAggregator">
<property name="fieldExtractor">
<bean
class="egovframework.brte.core.item.file.transform.EgovFieldExtractor">
<property name="names" value="name,credit" />
</bean>
</property>
<property name="fieldRanges" value="9,2" />
</bean>
</property>
</bean>
11Page l 11
LAB 302-2 File to DB방식에서 File to File으로 변경 (2/2)
Step 302-2-06. 서버를 구동시켜 서버가 정상적으로 구동되는지 확인한다.
[오류발생시]
구현도구(eclipse) 재기동, Maven Clean , Maven Install
실행 후 다시 Run On Server 실행
12Page l 12
수고 하셨습니다. ^^*

More Related Content

What's hot

Sharks skates and rays
Sharks skates and raysSharks skates and rays
Sharks skates and raysLeeanna Cota
 
Gwadar Port: Introduction & Importance
Gwadar Port: Introduction & Importance Gwadar Port: Introduction & Importance
Gwadar Port: Introduction & Importance Salman H. Sindhoo
 
Aquarium Accessories and Decorative.pdf
Aquarium Accessories and Decorative.pdfAquarium Accessories and Decorative.pdf
Aquarium Accessories and Decorative.pdfDr. Rohitash Yadav
 
Rainbow trout
Rainbow troutRainbow trout
Rainbow troutdrakec18
 
Classification of fishes
Classification of fishesClassification of fishes
Classification of fishesTuharMukherjee
 
Threadfin bream and pomfret
Threadfin bream and pomfretThreadfin bream and pomfret
Threadfin bream and pomfretJoynalAbedin20
 
EDUREMARKETING OF FISH IN INDIA PRICING PROCIDURE
EDUREMARKETING OF FISH IN INDIA PRICING PROCIDUREEDUREMARKETING OF FISH IN INDIA PRICING PROCIDURE
EDUREMARKETING OF FISH IN INDIA PRICING PROCIDUREDEVIKA ANTHARJANAM
 
Phylum Chordata
Phylum ChordataPhylum Chordata
Phylum Chordatakhannea21
 
Cultured pearls : Cultured Freshwater Pearls
Cultured pearls : Cultured Freshwater PearlsCultured pearls : Cultured Freshwater Pearls
Cultured pearls : Cultured Freshwater PearlsAnwarullah khan
 
In plant training in fisheries report 2016. by cof, kawardha student
In  plant training in fisheries report 2016. by cof, kawardha studentIn  plant training in fisheries report 2016. by cof, kawardha student
In plant training in fisheries report 2016. by cof, kawardha studentKRISHNA Jaiswal
 
Fish reproduction
Fish reproductionFish reproduction
Fish reproductionIrfan ahmad
 

What's hot (20)

Fishing methods
Fishing methodsFishing methods
Fishing methods
 
Shell fishery edited , prepared and shared by abdul qahar
Shell fishery edited , prepared and shared by abdul qaharShell fishery edited , prepared and shared by abdul qahar
Shell fishery edited , prepared and shared by abdul qahar
 
Sharks skates and rays
Sharks skates and raysSharks skates and rays
Sharks skates and rays
 
Gwadar Port: Introduction & Importance
Gwadar Port: Introduction & Importance Gwadar Port: Introduction & Importance
Gwadar Port: Introduction & Importance
 
Aquarium Accessories and Decorative.pdf
Aquarium Accessories and Decorative.pdfAquarium Accessories and Decorative.pdf
Aquarium Accessories and Decorative.pdf
 
Rainbow trout
Rainbow troutRainbow trout
Rainbow trout
 
Fishing gear
Fishing gearFishing gear
Fishing gear
 
ICAR-JRF MODEL QUESTION PAPER
ICAR-JRF MODEL QUESTION PAPERICAR-JRF MODEL QUESTION PAPER
ICAR-JRF MODEL QUESTION PAPER
 
Classification of fishes
Classification of fishesClassification of fishes
Classification of fishes
 
Threadfin bream and pomfret
Threadfin bream and pomfretThreadfin bream and pomfret
Threadfin bream and pomfret
 
EDUREMARKETING OF FISH IN INDIA PRICING PROCIDURE
EDUREMARKETING OF FISH IN INDIA PRICING PROCIDUREEDUREMARKETING OF FISH IN INDIA PRICING PROCIDURE
EDUREMARKETING OF FISH IN INDIA PRICING PROCIDURE
 
Phylum Chordata
Phylum ChordataPhylum Chordata
Phylum Chordata
 
Cultured pearls : Cultured Freshwater Pearls
Cultured pearls : Cultured Freshwater PearlsCultured pearls : Cultured Freshwater Pearls
Cultured pearls : Cultured Freshwater Pearls
 
Fishing industry in pakistan
Fishing industry in pakistanFishing industry in pakistan
Fishing industry in pakistan
 
Fishing gears
Fishing gearsFishing gears
Fishing gears
 
In plant training in fisheries report 2016. by cof, kawardha student
In  plant training in fisheries report 2016. by cof, kawardha studentIn  plant training in fisheries report 2016. by cof, kawardha student
In plant training in fisheries report 2016. by cof, kawardha student
 
ICAR JRF 2020 SOLUTION
ICAR JRF 2020 SOLUTIONICAR JRF 2020 SOLUTION
ICAR JRF 2020 SOLUTION
 
Murrels
MurrelsMurrels
Murrels
 
Angel fish
Angel fishAngel fish
Angel fish
 
Fish reproduction
Fish reproductionFish reproduction
Fish reproduction
 

Viewers also liked

GCS-Introduction-Complete(1)
GCS-Introduction-Complete(1)GCS-Introduction-Complete(1)
GCS-Introduction-Complete(1)Aline Zhuang
 
Tax in the GCC _ Special Report _ MEED
Tax in the GCC _ Special Report _ MEEDTax in the GCC _ Special Report _ MEED
Tax in the GCC _ Special Report _ MEEDSanjanaa Chindalia
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재Hankyo
 
01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재Hankyo
 
01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)Hankyo
 
04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)Hankyo
 
01.표준프레임워크개요
01.표준프레임워크개요01.표준프레임워크개요
01.표준프레임워크개요Hankyo
 
03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)Hankyo
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론Hankyo
 
Häni wanderung
Häni wanderungHäni wanderung
Häni wanderungbeathaeni
 
Ensayo de tracción
Ensayo de tracciónEnsayo de tracción
Ensayo de tracciónandomit
 
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유knight1128
 

Viewers also liked (15)

GCS-Introduction-Complete(1)
GCS-Introduction-Complete(1)GCS-Introduction-Complete(1)
GCS-Introduction-Complete(1)
 
Tax in the GCC _ Special Report _ MEED
Tax in the GCC _ Special Report _ MEEDTax in the GCC _ Special Report _ MEED
Tax in the GCC _ Special Report _ MEED
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
Ch04
Ch04Ch04
Ch04
 
01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재
 
01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)
 
04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)04.실행환경 교육교재(화면처리)
04.실행환경 교육교재(화면처리)
 
01.표준프레임워크개요
01.표준프레임워크개요01.표준프레임워크개요
01.표준프레임워크개요
 
03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
Häni wanderung
Häni wanderungHäni wanderung
Häni wanderung
 
Ensayo de tracción
Ensayo de tracciónEnsayo de tracción
Ensayo de tracción
 
Tp191112
Tp191112Tp191112
Tp191112
 
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유
 
Qatar CV
Qatar CVQatar CV
Qatar CV
 

Similar to 03.실행환경 실습교재(배치처리)

02.개발환경 실습교재
02.개발환경 실습교재02.개발환경 실습교재
02.개발환경 실습교재Hankyo
 
Spring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSpring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSanghyuk Jung
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용중선 곽
 
SJBoard Project Portfolio
SJBoard Project PortfolioSJBoard Project Portfolio
SJBoard Project PortfolioJuyoungKang7
 
김윤환_포트폴리오
김윤환_포트폴리오김윤환_포트폴리오
김윤환_포트폴리오Yun-hwan Kim
 
JSP 빠르게 시작하기
JSP 빠르게 시작하기JSP 빠르게 시작하기
JSP 빠르게 시작하기Park JoongSoo
 
Spark performance tuning
Spark performance tuningSpark performance tuning
Spark performance tuninghaiteam
 
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원탑크리에듀(구로디지털단지역3번출구 2분거리)
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초Kwangyoun Jung
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Javajigi Jaesung
 
job 설정에 대해
job 설정에 대해job 설정에 대해
job 설정에 대해jung_se_hun
 
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 TestOkjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 Testbeom kyun choi
 
아마존 웹서비스를 이용한 WebApp 제작 Attendee
아마존 웹서비스를 이용한 WebApp 제작 Attendee아마존 웹서비스를 이용한 WebApp 제작 Attendee
아마존 웹서비스를 이용한 WebApp 제작 AttendeeLEEDONGJOON1
 
mago3d workshop in FOSS4G Korea 2018
mago3d workshop in FOSS4G Korea 2018mago3d workshop in FOSS4G Korea 2018
mago3d workshop in FOSS4G Korea 2018Gaia3D,Inc.
 
테스팅을위한선행조건 명세
테스팅을위한선행조건 명세테스팅을위한선행조건 명세
테스팅을위한선행조건 명세규동 최규동
 
Spring@mvc웹호스팅
Spring@mvc웹호스팅Spring@mvc웹호스팅
Spring@mvc웹호스팅J.H Ahn
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게Sungju Jin
 

Similar to 03.실행환경 실습교재(배치처리) (20)

02.개발환경 실습교재
02.개발환경 실습교재02.개발환경 실습교재
02.개발환경 실습교재
 
Spring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDDSpring batch와 함께 하는 TDD
Spring batch와 함께 하는 TDD
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
 
SJBoard Project Portfolio
SJBoard Project PortfolioSJBoard Project Portfolio
SJBoard Project Portfolio
 
김윤환_포트폴리오
김윤환_포트폴리오김윤환_포트폴리오
김윤환_포트폴리오
 
JSP 빠르게 시작하기
JSP 빠르게 시작하기JSP 빠르게 시작하기
JSP 빠르게 시작하기
 
Spark performance tuning
Spark performance tuningSpark performance tuning
Spark performance tuning
 
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
 
Html5
Html5 Html5
Html5
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
 
job 설정에 대해
job 설정에 대해job 설정에 대해
job 설정에 대해
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
 
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 TestOkjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
 
아마존 웹서비스를 이용한 WebApp 제작 Attendee
아마존 웹서비스를 이용한 WebApp 제작 Attendee아마존 웹서비스를 이용한 WebApp 제작 Attendee
아마존 웹서비스를 이용한 WebApp 제작 Attendee
 
mago3d workshop in FOSS4G Korea 2018
mago3d workshop in FOSS4G Korea 2018mago3d workshop in FOSS4G Korea 2018
mago3d workshop in FOSS4G Korea 2018
 
테스팅을위한선행조건 명세
테스팅을위한선행조건 명세테스팅을위한선행조건 명세
테스팅을위한선행조건 명세
 
Spring@mvc웹호스팅
Spring@mvc웹호스팅Spring@mvc웹호스팅
Spring@mvc웹호스팅
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게
 

More from Hankyo

07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)Hankyo
 
06.실행환경 실습교재(easy company,해답)
06.실행환경 실습교재(easy company,해답)06.실행환경 실습교재(easy company,해답)
06.실행환경 실습교재(easy company,해답)Hankyo
 
06.실행환경 실습교재(easy company,문제)
06.실행환경 실습교재(easy company,문제)06.실행환경 실습교재(easy company,문제)
06.실행환경 실습교재(easy company,문제)Hankyo
 
05.실행환경 교육교재(업무처리,연계통합)
05.실행환경 교육교재(업무처리,연계통합)05.실행환경 교육교재(업무처리,연계통합)
05.실행환경 교육교재(업무처리,연계통합)Hankyo
 
04.실행환경 실습교재(화면처리)
04.실행환경 실습교재(화면처리)04.실행환경 실습교재(화면처리)
04.실행환경 실습교재(화면처리)Hankyo
 
04.모바일 device api_실습교재
04.모바일 device api_실습교재04.모바일 device api_실습교재
04.모바일 device api_실습교재Hankyo
 
04.[참고]개발환경 실습교재
04.[참고]개발환경 실습교재04.[참고]개발환경 실습교재
04.[참고]개발환경 실습교재Hankyo
 
03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)Hankyo
 
03.[참고]표준프레임워크기반 개발방법
03.[참고]표준프레임워크기반 개발방법03.[참고]표준프레임워크기반 개발방법
03.[참고]표준프레임워크기반 개발방법Hankyo
 
03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재Hankyo
 
02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)Hankyo
 
02.실행환경 교육교재(데이터처리)
02.실행환경 교육교재(데이터처리)02.실행환경 교육교재(데이터처리)
02.실행환경 교육교재(데이터처리)Hankyo
 
02.모바일 실습교재(ux component)
02.모바일 실습교재(ux component)02.모바일 실습교재(ux component)
02.모바일 실습교재(ux component)Hankyo
 
02.[참고]오픈소스sw라이선스가이드라인
02.[참고]오픈소스sw라이선스가이드라인02.[참고]오픈소스sw라이선스가이드라인
02.[참고]오픈소스sw라이선스가이드라인Hankyo
 
02.공통컴포넌트 실습교재
02.공통컴포넌트 실습교재02.공통컴포넌트 실습교재
02.공통컴포넌트 실습교재Hankyo
 

More from Hankyo (20)

07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)
 
06.실행환경 실습교재(easy company,해답)
06.실행환경 실습교재(easy company,해답)06.실행환경 실습교재(easy company,해답)
06.실행환경 실습교재(easy company,해답)
 
06.실행환경 실습교재(easy company,문제)
06.실행환경 실습교재(easy company,문제)06.실행환경 실습교재(easy company,문제)
06.실행환경 실습교재(easy company,문제)
 
05.실행환경 교육교재(업무처리,연계통합)
05.실행환경 교육교재(업무처리,연계통합)05.실행환경 교육교재(업무처리,연계통합)
05.실행환경 교육교재(업무처리,연계통합)
 
04.실행환경 실습교재(화면처리)
04.실행환경 실습교재(화면처리)04.실행환경 실습교재(화면처리)
04.실행환경 실습교재(화면처리)
 
04.모바일 device api_실습교재
04.모바일 device api_실습교재04.모바일 device api_실습교재
04.모바일 device api_실습교재
 
04.[참고]개발환경 실습교재
04.[참고]개발환경 실습교재04.[참고]개발환경 실습교재
04.[참고]개발환경 실습교재
 
03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)
 
03.[참고]표준프레임워크기반 개발방법
03.[참고]표준프레임워크기반 개발방법03.[참고]표준프레임워크기반 개발방법
03.[참고]표준프레임워크기반 개발방법
 
03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재
 
02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)
 
02.실행환경 교육교재(데이터처리)
02.실행환경 교육교재(데이터처리)02.실행환경 교육교재(데이터처리)
02.실행환경 교육교재(데이터처리)
 
02.모바일 실습교재(ux component)
02.모바일 실습교재(ux component)02.모바일 실습교재(ux component)
02.모바일 실습교재(ux component)
 
02.[참고]오픈소스sw라이선스가이드라인
02.[참고]오픈소스sw라이선스가이드라인02.[참고]오픈소스sw라이선스가이드라인
02.[참고]오픈소스sw라이선스가이드라인
 
02.공통컴포넌트 실습교재
02.공통컴포넌트 실습교재02.공통컴포넌트 실습교재
02.공통컴포넌트 실습교재
 
Ch05
Ch05Ch05
Ch05
 
Ch03
Ch03Ch03
Ch03
 
Ch02
Ch02Ch02
Ch02
 
Ch11
Ch11Ch11
Ch11
 
Ch10
Ch10Ch10
Ch10
 

03.실행환경 실습교재(배치처리)

  • 1. 1Page l 1 전자정부 표준프레임워크 실행환경 - 배치레이어 실습
  • 2. 2Page l 2 LAB 1-6 배치템플릿 프로젝트 생성 및 테스트 실습 LAB 302-1 Job 설정파일 구성 (LAB302-1) LAB 303-2 File to DB 에서 File to File 으로 변경 (LAB302-2) 실습 목차
  • 3. 3Page l 3 Step 1-6-01. 구현도구에서 eGovFrame>Start>New Batch Template Project 메뉴를 선택합니다. LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(1/4) Step 1-6-02. eGovFrame Batch Template Project 위저드에서 File(SAM)을 선택하고 Next를 클릭합니다. Step 1-6-03. eGovFrame Batch Template Project 위저드에서 Scheduler를 선택하고 Next를 클릭합니다.
  • 4. 4Page l 4 Step 1-6-04. Project name과 Group Id, Artifact Id, Version을 입력하고 Finish를 클릭합니다. LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(2/4) 항목 입력내용 비고 Project name lab106 수동입력 Group Id egovframe 수동입력 Artifact Id lab106 자동입력 Version 1.0.0 자동입력 Step 1-6-06. 생성된 lab106 프로젝트의 EgovSchedulerJobRunner.java 클래스를 우클 릭하여 Run As > Java Application을 실행한 후 배치 실행 결과를 콘솔에서 확인합니다 . Step 1-6-05. 생성된 lab106 프로젝트의 데이터베이스를 실행한다. ( DATABASE > db 마우스 우클릭 path tools > Command Line Shell 선택, 커맨드 창 에서 runHsqlDB.cmd 실행)
  • 5. 5Page l 5 LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(3/4) Step 1-6-08. eGovFrame Batch Job Test 위저드에서 Job 정보 (DelimetedToDelimetedJob)와 Job Launcher 정보를 선택한 후 Generate Batch Test File 버튼을 클릭합니다. Step 1-6-07. 구현도구에서 eGovFrame>Test>Batch Job Test메뉴를 선택합니다. Step 1-6-09. TestCase 클래스 파일 생성을 위해 파일명을 입력하고 OK를 클릭합니다. 항목 입력내용 파일명 BatchJobTest
  • 6. 6Page l 6 LAB 1-6 배치 템플릿 프로젝트 생성 및 테스트 실습(4/4) Step 1-6-10. Test 버튼을 클릭하여 테스트케이스를 실행하여 실행 결과를 확인합니다. Step 1-6-11. 테스트케이스 파일을 확인합니다.
  • 7. 7Page l 7 LAB 302-1 Job설정파일 구성 (1/3) Step 302-1-01. 교육프로젝트에서 lab302-batch 마우스 오른쪽 버튼을 이 용하여 프로젝트를 선택 후 메뉴에서 Open Project를 클릭한다. Step 302-1-02. src/main/resources/egovframework/batch/job/ 하위의 fixedLengthToJdbcJob.xml을 연다. Step 302-1-03. job설정파일 작성시 필요한 reader/process/writer를 fixedLengthToJdbcJob.xml파일에서 정의된 id를 찾아 입력한다. <!-- // TODO [Step 3-2-01] fixedLengthToJdbcJob 에서 사용하게되는 itemReader, itemProcessor, itemWriter들을 찾아서 정의해 준다. --> <job id="fixedLengthToJdbcJob" parent="eGovBaseJob" xmlns="http://www.springframework.org/schema/batch"> <step id="fixedLengthToJdbcStep" parent="eGovBaseStep"> <tasklet> <chunk reader="" processor="" writer="" commit-interval="2" /> </tasklet> </step> </job>
  • 8. 8Page l 8 Step 302-1-04. 이클립스에서 Run As > Maven Install 을 클릭하여 Maven 을 실행한다. Step 302-1-05. 생성한 프로젝트를 실행하여 결과를 확인한다. [Eclipse 이용] lab101 > Run As > Run on Server 클릭 Finish 버튼 클릭 [오류발생시] 구현도구(eclipse) 재기동, Maven Clean , Maven Install 실행 후 다시 Run On Server 실행 LAB 302-1 Job설정파일 구성 (2/3)
  • 9. 9Page l 9 Step 302-1-06. Step 302-1-05. 프로젝트를 톰캣 서버에 실행한 후, 배치 를 실행하여 본다. (http://localhost:8080/egovframework.brte.template.sam.web- webapp/) Step 302-1-07. Data Source Explorer 탭에서 Database Connections>SampleHSQLDB>Schemas>PUBLIC>Tables로 이 동하여 CUSTOMER의 데이터를 확인한다. LAB 302-1 Job설정파일 구성 (3/3)
  • 10. 10Page l 10 LAB 302-2 File to DB방식에서 File to File으로 변경 (1/2) Step 302-2-01. src/main/resources/egovframework/batch/job/ 하위의 fixedLengthToJdbcJob.xml을 연다. Step 302-2-02. 파일을 읽어 DB에 입력하는 로직을 가지는 XML파일을 DB입력대신 File에 쓰는 기능으로 변경하기 위하여 bean에 매 핑하는 클래스를 EgovJdbcBatchItemWriter 대신 FlatFileItemWriter로 변경한다. Step 302-2-03. 파일을 만들 위치를 절대경로로 지정한다. Step 302-2-04. FieldExtractor를 통해 VO의 field값에서 값을 꺼내와서 지정한 Format으로 변환하여 한 라인으로 합친 후에 File에 Write를 수행. Step 302-2-05. Item의 필드 값들을 1 Line의 String으로 만들 때 필드값의 범위(고정길이) 지정. <bean id="fixedLengthToJdbcJob.fixedLengthToJdbcStep.jdbcItemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step"> <property name="resource" value="file:C:/eGovFrame-3.5/workspace.edu/lab302- batch/src/main/resources/egovframework/batch/data/outputs/txtOutput.txt" /> <property name="lineAggregator"> <bean class="egovframework.brte.core.item.file.transform.EgovFixedLengthLineAggregator"> <property name="fieldExtractor"> <bean class="egovframework.brte.core.item.file.transform.EgovFieldExtractor"> <property name="names" value="name,credit" /> </bean> </property> <property name="fieldRanges" value="9,2" /> </bean> </property> </bean>
  • 11. 11Page l 11 LAB 302-2 File to DB방식에서 File to File으로 변경 (2/2) Step 302-2-06. 서버를 구동시켜 서버가 정상적으로 구동되는지 확인한다. [오류발생시] 구현도구(eclipse) 재기동, Maven Clean , Maven Install 실행 후 다시 Run On Server 실행
  • 12. 12Page l 12 수고 하셨습니다. ^^*