![[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기](https://devocean.sk.com/thumnail/2024/10/2/6fcf6f42a7137411e9966df3cba9520b9bbb7639fc4c76f85169f548440d0786.png)

[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기
Spring Batch에서 `JpaPagingItemReader`로 JPA 엔티티를 페이지 단위로 읽고 `JpaItemWriter`로 DB에 저장하는 방법을 소개했습니다. 또한 페이지 기반 처리의 누락 가능성과 JPA writer 설정상의 주의점도 함께 설명했습니다.
![[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기](https://devocean.sk.com/thumnail/2024/10/2/6fcf6f42a7137411e9966df3cba9520b9bbb7639fc4c76f85169f548440d0786.png)

Spring Batch에서 `JpaPagingItemReader`로 JPA 엔티티를 페이지 단위로 읽고 `JpaItemWriter`로 DB에 저장하는 방법을 소개했습니다. 또한 페이지 기반 처리의 누락 가능성과 JPA writer 설정상의 주의점도 함께 설명했습니다.
![[SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기](https://devocean.sk.com/thumnail/2024/10/28/c6ab0423c449accde8c39729cbb0156dfab20487cabc4d636480ad301c57ef85.png)

JdbcPagingItemReader로 DB 데이터를 페이지 단위로 읽고 파일로 저장하는 방법을 다루었습니다. JdbcBatchItemWriter로 파일 데이터를 DB에 빠르게 적재하는 구성도 함께 설명했습니다.
![[SpringBatch 연재 04] FlatFileItemReader로 단순 파일 읽고, FlatFileItemWriter로 파일에 쓰기](https://devocean.sk.com/thumnail/2024/9/12/31cc382ba3e9282b13135d64254e8873330baa69f9800415902e704003242ccf.png)

Spring Batch의 `FlatFileItemReader`와 `FlatFileItemWriter`로 CSV를 읽고 탭 구분 파일로 저장하는 방법을 다뤘습니다. 또한 헤더·푸터와 집계를 붙여 파일 출력 형식을 제어하는 예시를 소개했습니다.
![[SpringBatch 연재 03] SpringBatch ChunkModel과 TaskletModel](https://devocean.sk.com/thumnail/2024/9/25/74f021b3ab022e65b987c73f6d5ccd913ec5bddb4c51ac0f3fd213bab5b9bf43.png)

Spring Batch의 Chunk Model과 Tasklet Model 차이를 정리했습니다. 데이터 규모와 처리 방식에 따라 적절한 모델을 선택하는 기준을 설명했습니다.
![[SpringBatch 연재 02] SpringBatch 코드 설명 및 아키텍처 알아보기](https://devocean.sk.com/thumnail/2024/9/10/31393040a5961489ffe09f8f0c7f2f6ced61fce87042ad84b267626d6a8b790a.png)

Spring Batch의 Tasklet 예제와 Job, Step 등록 과정을 설명했습니다. 또한 배치 아키텍처와 실행·저장 정보의 흐름을 정리했습니다.


대용량 데이터를 레디스에 적재하는 배치에서 parallelStream과 파이프라인을 적용해 성능을 개선했습니다. 실행 시간은 6~7분에서 30초 수준으로 줄었습니다.

Spring Batch에서 특정 Job만 실행하려고 해도 다른 Job Bean 초기화 오류가 전체를 막는 문제를 다루었습니다. lazy initialization과 직접 만든 JobRunner로 필요한 Job만 늦게 로딩하는 방법을 설명했습니다.

엑셀 데이터 추출 기능이 느려지고 서버 부하가 커지는 문제를 개선한 경험을 공유했습니다. 비동기 이벤트와 Spring Batch Partitioning으로 처리 분리와 재다운로드 구조를 구성했습니다.
쿠팡 파트너스
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.


팀 스터디의 1년 운영 경험을 Season 1~3로 나눠 회고했습니다.\n자유 주제와 도서 스터디, 토킹 어바웃으로 깊이와 지속성을 높인 점을 정리했습니다.


Spring Batch Job 실행 중 배포가 겹치면 jar 파일 변경으로 예외가 발생하는 문제를 다루었습니다. 심볼릭 링크를 활용해 무중단 배포를 적용한 과정을 소개했습니다.

Spring Boot 2.7에서 3.1로 이관할 때 필요한 핵심 변경점을 정리했습니다.\nJava 17, Jakarta EE, Spring Cloud·Batch·Security·JPA 대응 방법을 함께 설명했습니다.

Spring Batch 애플리케이션의 성능을 높이기 위한 벌크 I/O 처리 팁을 다뤘습니다. 개별 I/O 대신 대량 처리 중심으로 전환하는 방향을 제안했습니다.