Java & Spring/Batch 8

[Spring] Batch 입문 : 3시간 만에 끝내는 대용량 처리의 기초

https://www.inflearn.com/course/spring-batch-%EC%9E%85%EB%AC%B8-3%EC%8B%9C%EA%B0%84/dashboard?cid=340815 Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초| JSCODE 시니 - 인프런 강의현재 평점 5.0점 수강생 380명인 강의를 만나보세요. 스프링 배치를 처음 접하는 취준생과 현업 개발자를 위한, 실전에서 바로 써먹을 수 있는 '스프링 배치' 강의 입니다! '단순 삭제'부터 '대량www.inflearn.com해당 게시글은 위 강의를 수강한 뒤 작성하였습니다. STO 토큰 증권 프로젝트를 진행하며 배치 개념이 필요할 것 같아 위 강의를 수강했다.강의 시간이 긴 편이 아니라서 하루 ~ 이틀만에 배치..

Java & Spring/Batch 2026.04.19

[Spring] Batch : STO 토큰 상세 페이지 캔들 차트

프로젝트 진행 중 STO 토큰 상세 페이지에서 보여지는 '캔들 차트' 를 구현하는 역할을 담당하게 되었다. (주식과 유사하게 동작) 사용 기술 : Spring Boot 3, Spring Batch 5 아래는 상세 페이지의 목업이다. 화면 좌측 상단에 보이는 차트가 '캔들 차트' 라고 한다.캔들 차트에는- 단위 기간 동안 체결된 거래 가격 중 가장 높은 가격을 의미하는 '고가',- 단위 기간 동안 체결된 거래 가격 중 가장 낮은 가격을 의미하는 '저가',- 단위 기간 중 처음으로 체결된 가격을 의미하는 '시가'- 단위 기간 중 마지막으로 체결된 가격을 의미하는 '종가' 가 보여진다. 캔들차트 개념https://kbthink.com/stock/chart.html 캔들차트 보는 법|주식 초보를 위한 캔들차..

Java & Spring/Batch 2026.04.07

[Spring] Batch 6

Job Listener- 배치 작업은 백그라운드에서 수행된다.- 리스너는 배치의 주요 시점들을 감지하는 역할을 담당한다. - 배치 모니터링- 배치 시작, 성공 여부, 종료 시점, 알림 발송, 데이터 초기화 .. - Job Listener 클래스는 스프링 빈으로 등록되어야 한다. (@Component) Job Execution Listener - Job 실행의 시작, 종료 시점에 호출되는 리스너- beforeJob : Job 시작 전 필요한 리소스를 준비 등 초기화 작업 수행- afterJob : Job 종료 직후 리소스를 정리하는 등 후처리 작업 (email 전송, Job 상태 변경 ..) 수행 Step Execution Listener - Step 실행의 시작, 종료 시점에 호출되는 리스너- befor..

Java & Spring/Batch 2026.02.26

[Spring] Batch 5

Job Parameter- 배치 작업을 실행할 때 외부에서 주입하는 파라미터 묶음 LocalDate targetDate = LocalDate.of(2026, 1, 26);deleteLogs(targetDate); Job Parameter 사용 x :- 위의 2026, 1, 26 처럼 값을 매 번 수동으로 변경, 재배포해야 한다.- 동적으로 변하는 값들에 대해 다루기 힘들다. Job Parameter 을 이용해 동적인 값들을 터미널 명령어 입력 시 주입할 수 있다.- 배치 작업 실행 시점에서 동적 데이터 주입 => 매 번 프로젝트 수정이 일어나지 않는다. ./gradlew bootRun --args='--spring.batch.job.name=myJob requestDate=20260225' Job Par..

Java & Spring/Batch 2026.02.25

[Spring] Batch 4

스프링 배치 처리 방식 : Chunk - 크고 무거운 작업의 처리 단위- 대용량 처리가 필요할 때 사용 (매월 1일 포인트 지급, 배송 상태를 일괄적으로 변경 ..)- 대용량 처리 도중 실패 시 '현재 청크 단위' 부터 이어서 실행 가능 청크 지향 처리의 동작 : 데이터 읽기 -> 가공 -> 쓰기 데이터 읽기 : ItemReader 함수형 인터페이스데이터 가공 : ItemProcessor 함수형 인터페이스데이터 쓰기 : ItemWriter 함수형 인터페이스 package spring.batch.lowerToupper;import lombok.RequiredArgsConstructor;import org.springframework.batch.core.job.Job;import org.sprin..

Java & Spring/Batch 2026.02.25

[Spring] Batch 2

스프링 배치 처리 방식 : Tasklet - 작고 독립적인 작업의 처리 단위- 단발성 작업이 필요할 때 사용 (파일 관리, 단순 DB 작업, Email, 문자 알림 발송, 쉘 스크립트 실행 ..) @FunctionalInterface : 함수형 인터페이스, 메서드가 하나이다.리턴 타입이 RepeatStatus인 execute 메서드 하나만 가지고 있다. StepContribution : 현재 단계(Step)가 얼마나 진행되었는지 기록하는 객체- ex : 책을 읽은 횟수, 메모를 쓴 횟수, 커피를 제작한 횟수 .. ChunkContext : 작업 수행에 필요한 정보가 담겨있는 객체 (외부 파라미터, 이전 단계 step에서 넘긴 데이터 ..) Tasklet 방식 1 : 람다식으로 RepeatStatus..

Java & Spring/Batch 2026.02.25

[Spring] Batch 1

스프링 배치- 대용량 데이터를 끊기지 않고 안전하고 효율적으로 처리하기 위한 표준화 프레임워크- 자동화할 '업무'를 대상으로 한다. Job- 배치 처리의 가장 큰 단위 Step - Job을 수행할 세부 단계, 실행 단위- 하나의 Job은 여러 Step으로 구성되어 있다. Job Repository- 배치 처리에 필요한 '메타 데이터'를 DB에 저장하고 관리하는 역할- 메타 데이터 : 스프링 배치 실행에 대한 데이터 (Job의 시작 시간, Step의 실행 시간 ..) Job Operator - 스프링 배치 5에서는 Job Launcher라고 불렀다. - 스프링 배치 운영 조작 인터페이스 - 스프링 배치에 대해 작업을 시작, 관리, 운영 등 조작할 수 있다. @SpringBootApplication..

Java & Spring/Batch 2026.02.25