1장. 배치와 스프링
__배치 처리의 역사
__배치가 직면한 과제
__왜 자바로 배치를 처리하는가?
__스프링 배치의 기타 사용 사례
__스프링 배치 프레임워크
____스프링으로 잡 정의하기
____잡 관리하기
____로컬 및 리모트 병렬화
____I/O 표준화하기
____나머지 스프링 배치 에코 시스템
____그리고 스프링의 모든 기능
__이 책의 진행 방식
__요약
2장. 스프링 배치
__배치 아키텍처
____잡과 스텝
____잡 실행
____병렬화
____문서
__프로젝트 초기 설정
____스프링 배치 내려받기
__Hello, World! 법칙
__잡 실행하기
__요약
3장. 예제 잡 애플리케이션
__애자일 개발 이해하기
____사용자 스토리로 요구 사항 포착하기
____테스트 주도 개발로 설계하기
____버전 관리 시스템 사용하기
____좋은 개발 환경에서 작업하기
__은행 거래명세서 잡의 요구 사항 이해하기
__배치 잡 설계하기
____잡의 처리 흐름
____데이터 모델 이해하기
__요약
4장. 잡과 스텝 이해하기
__잡 소개하기
____잡의 생명주기 따라 가보기
__잡 구성하기
____잡의 기본 구성
____잡 파라미터
____잡 리스너 적용하기
____ExecutionContext
____ExecutionContext 조작하기
__스텝 알아보기
____태스크릿 처리와 청크 처리 비교
____스텝 구성
____그 밖의 여러 다른 유형의 태스크릿 이해하기
____스텝 플로우
__요약
5장. JobRepository와 메타데이터
__JobRepository란?
____관계형 데이터베이스 사용하기
____인메모리 JobRepository
__배치 인프라스트럭처 구성하기
____BatchConfigurer 인터페이스
____JobRepository 커스터마이징하기
____TransactionManager 커스터마이징하기
____JobExp
작가의 말
옮긴이의 말
지금도 보이지 않는 어딘가에서 열심히 동작하는 배치 처리는 일반 사용자가 직접 접하기 어려운 까닭에 낯설 수도 있습니다. 하지만 배치 처리는 현대 IT 시스템에서 필수적이고 어디에나 존재하며 누구나 간접적으로 경험합니다. 예를 들어 우리는 주기적으로 이메일을 받기도 하며 매일 특정 시간에 수행되는 은행 정산 배치 처리 등으로 인해 온라인 은행 서비스를 이용할 수 없다는 메시지를 볼 수도 있습니다. 이러한 배치 처리는 목적에 따라 다르기는 하지만 지정된 시각에 수행돼야 하고, 엄청난 양의 데이터를 제한된 시간 내에 완료해야 하며, 처리에 실패했다면 별도의 후속 처리를 해야 하기도 합니다. 대량 데이터를 처리하는 까닭에 성능도 최적화해야 합니다. 스프링 배치를 사용하는 이유는 바로 이러한 다양한 사항을 고려한 배치 처리를 매우 효율적으로 만들 수 있기 때문입니다.
스프링 배치는 배치 처리를 개발할 때 고려해야 하는 많은 개념과 기능을 제공합니다. 단순한 시나리오부터 미션 크리티컬한 시나리오까지 수많은 상황에 대응할 수 있습니다. 그러나 배치라는 분야의 특성상 개념이 생소하기도 하고 참고할 수 있는 자료가 스프링 프레임워크에 비해 많지는 않습니다. 이러한 상황에서 스프링 배치 개발팀의 리더가 직접 저술한 이 책은 매우 유용합니다. 기초 개념의 이해부터 클라우드 네이티브를 활용하는 수준까지 폭넓은 내용을 접할 수 있습니다. 또한 시나리오 기반의 다양한 예제는 책의 내용을 이해하는 데 도움을 주는 것은 물론이고 기업에서 필요한 수준의 배치 처리를 개발하는 데 실제로 활용할 수도 있을 것입니다. 배치 처리에 스프링 배치를 사용하는 것을 고려하고 있다면 이 책을 통해서 더욱 쉽고 효율적으로 사용할 수 있게 될 것이라고 확신합니다.