안녕하세요. 이번 글에서는 Spring Batch에서 여러 Step으로 구성된 Job에서 Step 간에 데이터를 공유하는 방법에 대해 정리해보겠습니다. Spring Batch가 공식적으로 제공하는 ExecutionContext 개념과, StepExecutionListener를 활용한 방식을 설명합니다. 배치 Job이 복잡해질수록 Step 간에 상태나 계산 결과를 전달해야 하는 요구는 자연스럽게 발생합니다. 이러한 요구를 해결하기 위해 Spring Batch는 별도의 커스텀 저장소 없이도 사용할 수 있는 상태 관리 메커니즘을 제공합니다. 소개 및 배경Spring Batch Job은 여러 Step으로 구성되며, 각 Step은 기본적으로 독립적인 실행 단위입니다. 하지만 실무에서는 한 Step의 실행 결과..
이 글에서는 Spring Batch에서 외부 API 호출 결과를 처리하는 커스텀 PagingItemReader와 CSV 데이터를 생성하는 ItemWriter의 구현 방법을 설명합니다. Spring Batch 공식 문서를 기준으로 각 컴포넌트의 역할과 설계 의도를 기술합니다.소개 · 배경Spring Batch는 대용량 데이터를 일괄 처리하기 위한 프레임워크입니다. Spring Batch Reference Manual에 따르면, 배치 작업은 데이터를 읽고(Read), 처리하고(Process), 쓰는(Write) 단계로 구성됩니다. 이러한 처리 모델을 Chunk-oriented Processing이라고 합니다. 실무에서는 RDBMS뿐만 아니라 외부 API나 파일 시스템 등 다양한 데이터 소스를 처리해야 하는 ..
이 글에서는 Spring Batch 5에서 메타데이터 관리와 Reader-Writer 데이터소스 분리 방법을 설명합니다. Spring Batch 공식 문서를 기준으로 메타데이터의 역할과 데이터소스 분리 전략을 기술합니다.소개 · 배경Spring Batch는 배치 작업의 실행 상태를 추적하고 관리하기 위해 메타데이터를 사용합니다. Spring Batch Reference Manual에 따르면, 메타데이터는 JobRepository를 통해 관리되며, 배치 작업의 실행 정보, Step 실행 정보, ExecutionContext 등을 저장합니다. 메타데이터는 기본적으로 애플리케이션의 주요 데이터베이스에 저장됩니다. 그러나 Spring Batch Reference Manual에 따르면, 메타데이터와 비즈니스 데이..
- Total
- Today
- Yesterday
- DB 트랜잭션
- Initialization-on-Demand Holder Idiom
- Java Performance
- 트래픽 처리
- Redis 성능 개선
- 캐시 장애
- 트랜잭션 관리
- Hot Key 문제
- 캐시 성능 비교
- Double-Checked Locking
- Spring Batch
- Redis vs DB
- Eager Initialization
- 캐시와 인덱스
- Enum 기반 싱글톤
- spring batch 5
- Cache Aside
- Cache Avalanche
- mybatis
- InterruptedException
- Redis 캐시 전략
- 동시성처리
- TTL 설계
- 스레드 생명주기
- DB 인덱스 성능
- 백엔드 성능 튜닝
- Cache Penetration
- 백엔드 성능 설계
- 백엔드 아키텍처
- 백엔드 성능
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |

