Spring Batch 오류 전파 및 NOOP 해결 방법 (자동 실행 vs 수동 실행)

Spring Batch 실행 중 오류가 main()까지 전달되지 않는 문제와 NOOP 상태(All steps already completed or no steps configured for this job.) 발생 문제를 해결하는 방법을 정리합니다.자동 실행(Spring Boot spring.batch.job.enabled=true)과 수동 실행(spring.batch.job.enabled=false 후 JobLauncher 직접 호출) 방식에 맞게 정리하였습니다. 1. Spring Batch 오류 전파 문제 🔍 문제 상황 2. 자동 실행 더 읽기

AWS Aurora MariaDB에서 autocommit=false 설정 시 Spring Batch 중단 시 트랜잭션 롤백 여부

1. 문제 상황 Spring Batch에서 AWS Aurora MariaDB를 사용하고 있으며, autocommit=false로 설정된 상태에서 작업 중 Pod 또는 Node가 강제 종료되면 미처리된 데이터가 자동으로 롤백될까, 아니면 락이 걸린 상태로 남아 있을까? 2. Aurora MariaDB의 트랜잭션 롤백 동작 Aurora MariaDB는 클라이언트 세션이 비정상적으로 종료되면 해당 세션의 트랜잭션을 자동으로 롤백한다.즉, 다음과 같은 상황에서는 더 읽기

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

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