바로 가기
정산 시스템 구현하기 With Spring Batch
정산 시스템 개선하기 - 수동 작업 자동화 ( Scheduling )
정산 시스템 개선하기 - Multi Thread Issue
- Spring Batch 를 통해서 정산 시스템의 Job 과 프로세스를 구현했다.
이어서 현재 시스템의 불편한 사항인 수동으로 배치를 구동해야 하는 이슈를 Job Scheduling 라이브러리를 사용해 주기적으로 배치를 돌려보도록 하자.
- 정산 시스템 구조와 시나리오
-
구조

-
시나리오
- 고객이 유료 API 를 사용한다.
- 서비스팀은 유료 API 사용 이력을 남긴다.
- 유료 API 사용 이력을 파일로 정산팀에 전달한다. ( 개발을 위해 임시로 랜덤 데이터 생성 )
- 정산팀은 1일 단위로 정산을 한다.
- 매주 일요일 1 주일 치 1 일 정산을 집계해서 DB 에 저장하고 고객사에 이메일을 보낸다.
- 목표 : 매일 24:00 시에 정산 프로그램을 주기적으로 동작
- 사용 기술 및 환경
- Java 17
- Spring 6.1.4
- SpringBoot 3.2.3
- Spring Batch 5.1.1
- Spring Data JPA
- MySQL 8.3.0
- IntelliJ
- Quartz ( 추가 )
Spring Batch ≠ 스케쥴러
개선사항 - [ @Scheduled Spring Scheduler 적용 ]