Spring Batch-1(기본 개념)

JIM KIM
2 min readOct 30, 2018

--

  • Batch란 무엇인가?
  • Spring Batch에 대해서

1. Batch?

Batch Processing란 일괄 처리라고도 하는 과정으로서 실시간으로 요청에 의해서 처리되는 방식이 아닌 일괄적으로 한꺼번에 대량의 프로세스를 처리하는 방식이다.

  • 대량의 데이터를 처리한다.
  • 특정 시간에 프로그램을 실행한다.
  • 일괄적으로 처리한다.

다수의 계열사의 조직도 데이터를 매일 새벽에 각 계열사 데이터를 조회하고 통합하는 배치 프로그램.

Batch vs Quartz?

Quartz는 스케쥴러의 역할을 담당하고 있기 때문에 Batch처럼 대용량의 데이터 처리 기능은 지원하지 않는다.
반대로 Batch에서는 스케쥴러의 기능이 없기 때문에 Quartz와 Batch를 조합해서 사용한다.

2. Spring Batch?

  • Job : 여러개의 Step를 포함하고 있고, Batch에서 실행이 되는 실행 단위
  • JobLauncher : Job를 실행시키는 역할
  • JopRepository : Job 또는 Step를 저장소(DB 등)에서 조회/생성/수정 하는 역할
  • Step : Job안에서 데이터 읽기/쓰기/가공 등을 하는 실행 단위
  • ItemReader : 하나의 Step안에서 데이터를 조회하는 역할
  • ItemProcessor : ItemReader를 통해 조회된 데이터를 가공하는 역할
  • ItemWriter : ItemProcessor에서 가공된 데이터를 저장하는 역할

출처 : http://blog.woniper.net/356

--

--