![[SpringBatch 연재 11] Job 및 Step 마다 시작/종료시 특정 작업 수행하기](https://devocean.sk.com/thumnail/2024/12/26/95de41563306b50b08e112611c20b460ffdb998402563c664b36435efb370c61.png)

[SpringBatch 연재 11] Job 및 Step 마다 시작/종료시 특정 작업 수행하기
Spring Batch에서 Job과 Step의 시작/종료 시점에 실행할 작업을 Listener로 연결하는 방법을 설명했습니다. JobExecutionListener와 StepExecutionListener 등록 예시와 실행 로그 흐름을 함께 보여주었습니다.
![[SpringBatch 연재 11] Job 및 Step 마다 시작/종료시 특정 작업 수행하기](https://devocean.sk.com/thumnail/2024/12/26/95de41563306b50b08e112611c20b460ffdb998402563c664b36435efb370c61.png)

Spring Batch에서 Job과 Step의 시작/종료 시점에 실행할 작업을 Listener로 연결하는 방법을 설명했습니다. JobExecutionListener와 StepExecutionListener 등록 예시와 실행 로그 흐름을 함께 보여주었습니다.

보험금 청구의 불편함을 줄이기 위해 즉시지급 프로세스를 구축한 사례를 소개합니다. 레거시 분리, 문서 인식 자동화, 워크플로 개선으로 비용과 처리 시간을 크게 줄였습니다.

매월 반복되던 재무 결산을 Spring Batch와 코드 중심 구조에서 Airflow와 dbt 기반 데이터 파이프라인으로 전환했습니다. SQL 수정만으로 결산 대응이 가능해져 유연성과 가시성을 높였습니다.


정산 시스템을 PHP에서 Java로 이관하며, 태스크 서버를 SNS·SQS·ECS 기반 Job Runner로 재설계했습니다. 작업 일관성, 재시도성, 확장성을 높이기 위한 아키텍처 선택 과정을 정리했습니다.


MongoDB 트랜잭션의 동작 조건과 Snapshot Isolation, Write Conflict를 설명했습니다. 또한 복제 지연과 이벤트 발행 타이밍 문제를 PRIMARY 설정과 AFTER_COMMIT 이벤트로 해결했습니다.


증정 행사 조회 트래픽 급증 문제를 해결하기 위해 RDS, ElastiCache, 로컬 캐시를 결합한 다중 레이어 캐시를 적용했습니다. 그 결과 TPS는 크게 증가하고 Redis 네트워크 송신량은 대폭 감소했습니다.


Spring Boot와 Java 버전업 과정에서 Gson 직렬화 에러의 원인을 자바 모듈 시스템 변화로 분석했습니다. `LocalDateTime`에 Custom TypeAdapter를 적용해 리플렉션 문제를 우회하고 해결했습니다.


Spring Kafka의 seek 기능으로 컨슈머를 멈추지 않고 오프셋을 이동하는 방법을 정리했습니다. 분산 환경에서는 HTTP API와 Redis Pub/Sub로 요청을 전파해 그룹 단위 재처리를 구현했습니다.

올리브영 선물하기관은 DB 의존과 배치 지연으로 성능과 신뢰성 문제가 있었습니다. 전시 전략 통합과 AOP·리플렉션 기반 개선으로 빠르고 정확한 서비스로 개편했습니다.


광고 업체 유효성 검사 시스템을 API 중심 구조에서 배치와 Kafka 실시간 처리 구조로 단계적으로 개선한 사례입니다. MySQL, Redis, gRPC를 함께 활용해 확장성과 운영 효율을 높였습니다.

은행의 하루 3천만 트래픽 홈 화면을 레거시에서 분리해 새로 개편한 사례를 다뤘습니다. MSA 기반으로 안정적인 홈 서비스 분리를 추진한 여정을 정리했습니다.


테이블링 백엔드 팀의 3개월 온보딩 경험과 회고를 공유했습니다. 웰컴 키트, 돌보미 제도, 단계적 과제를 통해 팀 문화와 협업 방식을 소개했습니다.