2023/12 2

[Spring] Batch

Spring Batch 대용량 데이터를 일괄(batch) 처리를 위한 프레임워크. 1. 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수 기능 제공 2. 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업을 가능하게 하는 고급 기술 서비스 및 기능 제공 3. 작업 실패시 작업 재시작을 하게 된다면 실패지점부터 실행한다. 중복 실행을 막기 위해 성공한 이력이 있는 Batch는 동일한 Parameters로 실행 시 Exception이 발생한다. 주요 구성 요소 JobLauncher Job과 Job Parameters를 사용하여 Job을 실행하는 객체 Job 배치 처리 과정의 전체를 하나의 단위로 만들어 놓은 객체. 하나 이상의 Step..

CS 2023.12.07

[DB] Transactional 전파단계

트랜잭션 전파(Transaction propagation) 상위 메서드의 트랜잭션이 동작중인 과정에서 트랜잭션이 적용된 하위 메서드를 실행할 경우 어떻게 처리하는 가에 대한 개념이다. 주로 사용되는 값은 default값인 REQUIRED 이며, 이외에도 여러 전파단계가 존재한다. REQUIRED 따로 지정해주지 않으면 사용되는 기본값. 진행중인 Transaction이 있으면 해당 Transaction을 사용, 없다면 새로운 Transaction을 생성한다. MANDATORY 진행중인 Transaction이 없을경우 exception 발생 REQUIRES_NEW 항상 새로운 Transaction을 생성 한다. 진행중인 Transaction이 있다면 중지하고 새로운 Transaction를 시작한다. 새로운 ..

CS 2023.12.04