Spring Batch 멀티스레드 처리 중 대기 상태 발생 및 트랜잭션 롤백 해결 방법

Spring Batch 환경에서 멀티스레드 처리 중 특정 스레드가 대기 상태에 빠지고, Pod가 계속 Running 상태가 되는 문제를 해결하는 방법을 정리합니다. 1️⃣ 문제 상황 2️⃣ 대기 상태가 발생하는 원인 분석 3️⃣ 해결 방법 ✅ 스레드 타임아웃 적용 ✅ 예외 발생 시 CountDownLatch.countDown() 보장 ✅ 대기 상태 감지 및 강제 종료 (shutdownNow() 더 읽기

Spring Batch 멀티스레드 환경에서 HikariCP Connection Leak 문제 해결 방법

🔹 개요Spring Batch에서 멀티스레드 환경을 사용한 후 HikariCP의 Connection Leak 경고가 발생하는 문제에 대해 분석하고 해결 방법을 정리합니다.특히 멀티스레드와 HikariCP의 connection-pool 설정, 트랜잭션 관리 방식, DAO 호출 구조가 Connection Leak에 미치는 영향을 집중적으로 다룹니다. 🔹 HikariCP 설정과 Connection Leak 원인 분석 사용된 HikariCP 설정은 다음과 같습니다. minimum-idle: 2 maximum-pool-size: 30 더 읽기