# spring batch

스프링 배치 - 예외 처리
안녕하세요! Betalabs 백엔드 개발팀의 찬쿤입니다. 개발을 하며 우리는 다양한 예외를 처리하는 상황에 놓이게 되는데요. 이번에는 스프링 배치를 사용하면서 놓쳤던 부분을 공유하려고 합니다.

왜 Notification을 Spring Batch로 했을까?
이전에 프로젝트를 진행하면서 매일 00시에 테이블을 일괄적으로 갱신해는 작업이 있었습니다. 경험이 부족했던 그땐 batch 작업이라는 것이 스케쥴링을 돌리면서 진행하는 어떠한 것이라고 생각했었습니다. 기능의 존재만 어렴풋이 알고만 있었던 것이지요. 시간이 지나 이번에
배치 어플리케이션
단발성으로 대량의 데이터를 처리하는 어플리케이션대용량 데이터 : 대용량의 데이터를 가져오거나, 전달하거나, 계산하는 등의 처리가 가능해야 함.자동화 : 심각화 문제 해결을 제외하고는 사용자의 개입 없이 실행되어야 함.견고성 : 배치 어플리케이션은 잘못된 데이터를 충돌/

Spring Batch 리뷰(이해와 사용)
Spring Batch란? Spring Batch는 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공한다. 또한 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업을 가능하게 하
[Spring Batch] 배치 에러 개선기
업무에서 Spring Batch로 세미나를 진행하고, 앱 푸시 기능을 배치로 전환하는 작업을 진행했다.

Spring Batch Multi Thread
출처글 querydsl paging reader thread-safe 🔨batch의 multi thread 설정 batch에서의 multi thread 환경 설정은 excutor를 사용하면 된다. job을 지정하는 곳에 다음과 같이 Bean으로 TaskExec

[Spring Batch + Spring Scheduler + MongoDb]를 사용한 간단한 설명 및 예제
Spring Batch와 Spring Scheduler의 간단한 설명

Spring boot DB 다중화
💭 왜 DB 다중화? Batch 프로젝트를 진행하면서 Batch 메타 테이블이 꼭 실제 서비스 중인 프로젝트 DB에 붙어야할까? 라는 생각을 하게 되었다. 또한 Batch의 테스트 코드 작성이 실제 DB에 직접적으로 붙는다는게 개인적으로 좋게 보이지 않았다. 그래서
Batch Test Code 작성
Test Code 세팅 지금 프로젝트에 세팅에 맞게만 설명하려고 한다. 먼저 기존의 SuccessStateJobTest.java 파일을 가지고 테스트 코드를 작성하고자 한다. 향로님 batch 가이드 batch 다중 DB 세팅

PagingItemReader 실습
이전 데이터에 success_state 컬럼이 추가되었고 우리는 false 상태의 거래건을 모두 가져와 true로 변경해야한다.실행해보자데이터가 내가 예상했던대로 변경된 것을 확인할 수 있다.