본문 바로가기

Web/Spring

맨땅에 Spring Batch - Item

728x90
반응형

Spring Batch에서 Item에 대해 알아보자.

 

이전 포스트에서 같이 적을까 하다가 이 녀석도 분량이 많아서 따로 적어보자.

 

Item

작업에 사용되는 데이터 (DB를 사용한다면 하나의 row가 하나의 Item)

  • ItemReader : 데이터를 읽어오는 수단
  • ItemWriter : 데이터를 입력하는 수단 (insert or update 등)
  • ItemProcessor : 비지니스 처리 담당 (ItemReader에서 넘겨준 데이터 개별건을 가공/처리한다.)

ItemReader

  • 데이터를 조회
  • 조회 SQL의 결과 Count가 0이면 예외가 아닌 null 반환
  • Cursor : Database와 Connection을 유지한 상태로 Data를 하나씩 읽음
  • Paging : 정해진 수 만큼 한 번에 Data를 읽음

 

출처 : https://www.javacodebook.com/2013/09/17/spring-book-chapter-21-spring-batch/8/

 

ItemProcessor

  • 필수 요소가 아닌 선택 요소
  • 데이터 가공 / 필터링 (writer에서도 구현 가능 -> 각각 역할이 섞이지 않게 따로 구현 지향)
  • 전달받은 Data가 정의된 가공 과정을 수행하기에 적합하지 않은 상태이면 예외가 아닌 null 반환

 

ItemWriter

  • 데이터 쓰기
  • Chunk 단위 만큼 한 번에 작업을 수행(Chunk Tasklet 사용 시) 

wirter는 List를 parameter로 전달 받고 있다.

 

이렇게 기본적인 Item의 구성을 알아보았다.

 

조금 감이 오는 거 같다.

 

대충

 

ItemReader로 Database에 처리할 데이터를 읽어오고

ItemProcessor로 Database를 가공 하고

ItemWriter로 Database에 Data를 Insert 혹은 Update 하는 것 같다.

 

728x90
반응형