spring(44)
-
전자정부프레임워크 - 배치 운영환경
개요 일괄(배치) 개발/실행환경에서 작성된 배치Job을 등록/실행하고 수행현황을 모니터링하며 처리결과를 확인하기 위한 표준화된 운영환경을 제공합니다. 배치운영프로세스 관리 표준화된 배치심의 배포 절차를 통해 검증되고 승인된 배치Job만 운영서버에 배포하여 장애를 사전에 예방합니다. 배치스케줄링 관리 등록된 배치Job에 대해 실행주기를 설정하여 해당 시점 도래 시 작업을 수행하는 스케줄 기능을 제공합니다. 배치실행 관리 온라인 배치Job 실행 및 실행중인 배치Job에 대한 중지, 실패한 배치작업에 대한 재처리 기능을 제공합니다. 배치작업결과 관리 스케줄링 된 배치 Job 및 온라인으로 수행한 배치 Job에 대한 작업 결과를 모니터링 할 수 있습니다. 배치작업결과 알림 배치Job 수행 종료 시 배치 운영자 ..
2021.04.16 -
[퍼옴] [Spring Batch] 스프링 배치 강좌 5. JDBC 로 디비 읽어서 CSV 파일에 쓰기
목적 성적 데이터를 저장하는Exam테이블 데이터를 읽어서 시험 점수0-100점스케일을A-F스케일로 변환하여CSV파일에 저장한다. Inputsrc/test/resources에 com/fwantastic/example4 *폴더를 생성 후 *create-table.sql를 만든다. Exam테이블을 생성 하고 테스트 데이터를 넣는다.Exam테이블에는 시험 점수가 0-100점 스케일로 저장되어있다. create-table.sql CREATE TABLE EXAM ( CLASS_NAME VARCHAR2(255) , STUDENT_NAME VARCHAR2(255) , SCORE INT , GRADE VARCHAR2(1) ) ; INSERT INTO EXAM (CLASS_NAME, STUDENT_NAME, SCORE) ..
2021.04.14 -
[퍼옴] [Spring Batch] 스프링 배치 강좌 4. CSV 파일 읽어서 JDBC로 디비에 저장하기
목적 여러 개념을 익혔으니 실전처럼 read -> process -> write 프로세스를 만들어 보자. Inputsrc/test/resources에com/fwantastic/example3폴더를 생성 후input.csv를 만든다. csv에는 Person ID와 사람의 full name (이름 + 스페이스 + 성) 이 저장되어 있다. 첫째줄엔 컬럼 헤더임을 잊지 말자. input.csv PERSON_ID,FULL_NAME 1,Suji Bae 2,Jieun Lee Output csv데이터를 저장 할 디비 테이블을 만들자.Person 테이블에 Person ID와 사람의 이름과 성을 따로 저장해보자. **src/test/resources/com/fwantastic/example3에create-table.sql..
2021.04.14 -
[퍼옴] [Spring Batch] 스프링 배치 강좌 4. CSV 파일 읽어서 JDBC로 디비에 저장하기
목적 여러 개념을 익혔으니 실전처럼 read -> process -> write 프로세스를 만들어 보자. Inputsrc/test/resources에com/fwantastic/example3폴더를 생성 후input.csv를 만든다. csv에는 Person ID와 사람의 full name (이름 + 스페이스 + 성) 이 저장되어 있다. 첫째줄엔 컬럼 헤더임을 잊지 말자. input.csv PERSON_ID,FULL_NAME 1,Suji Bae 2,Jieun LeeOutput csv데이터를 저장 할 디비 테이블을 만들자.Person 테이블에 Person ID와 사람의 이름과 성을 따로 저장해보자. **src/test/resources/com/fwantastic/example3에create-table.sql파..
2021.04.14 -
[퍼옴] [Spring Batch] 스프링 배치 강좌 3. JobExecutionContext를 활용하여 스텝간 데이터 공유하기
목적 이전 글에서 배운Metadata와JobRepository를 활용해본다. 여러 개의 스텝을 만들고 스텝들이 어떻게JobExecutionContext를 사용하여 데이터를 공유하는지 알아보자. common-context.xml Job들이 공통으로 사용하는 빈들을 모아 앞으로 재사용 하도록 하자. src/main/resource폴더에common-context.xml파일을 생성하자. tasklet 아래tasklet을src/main/java에com.fwantastic.example2패키지에 생성하자. 자세한 설명은 주석을 참조하자. CounterIncrementerTasklet.java package com.fwantastic.example2; import org.springframework.batch.cor..
2021.04.14 -
[퍼옴] [Spring Batch] 스프링 배치 강좌 2. Metadata와 JobRepository 알아보기
재미없는 이론 공부가 돌아왔다. Intro때 잠깐 살펴보았던 JobRepository를 파헤쳐보자. 스프링 배치 프레임워크는 위의 6개 테이블 사용해 작동된다. BATCH_JOB_INSTANCE Job이 실행되면 BATCH_JOB_INSTANCE에 새로운 row를 만든다. Job의 이름과 Job이 시작될때 넘겨받은 파라미터를 Serialize (직렬화) 해서 저장한다. Job의 flow (high level): -> 시작 -> BATCH_JOB_INSTANCE에 동일한 JOB_NAME과 JOB_KEY를 가진 row가 있는지 확인. 찾으면 JobInstance must not already exist 에러 메세지 출력 후 종료 -> BATCH_JOB_INSTANCE에 row 생성 -> BATCH_JOB_E..
2021.04.14