반응형
거래명세서 생성
Step1 | Step2 | Step3 | Step4 |
고객 데이터 가져오기 | 거래 정보 데이터 가져오기 | 현재 잔액 계산하기 | 월별 고객 거래명세서 생성 |
고객 데이터 가져오기
- 스프링 배치는 스텝 내에서 사용 하는 여러 레코드 형식을 처리할 수 있는 기능을 제공한다.
- 데이터를 읽을 수 있다면, 쓰기 처라할 때 오류를 최소하도록 ItemProcessor를 사용해 데이터 유효성을 검증한다.
- 다음 적절한 ItemWriter 구현체를 사용해 레코드 유형에 따라 적절하게 데이터를 갱신한다.
거래 정보 데이터 가져오기
고객 데이터를 가져온 후 거래 데이터를 가져온다. 스프링 배치는 강력한 ItemReader 및 ItemWriter 구현체를 제공하므로, 이 스텝에서는 XML을 읽은 뒤 데이터베이스에 기록하는 구현체를 사용할 수 있다.
다음은 거래 XML 파일의 입력 예다.
<?xml version="1.0" encoding="UTF-8" ?>
<transaction>
<transaction>
<transactionId>1</transactionId/>
<accoutId>15</accoutId>
<credit>5.62</credit>
<debit>1.95</debit>
<timestamp>2017-07-12 12:05:21 </timestamp>
</transaction>
<transaction>
<transactionId>2</transactionId/>
<accoutId>68</accoutId>
<credit>5.27</credit>
<debit>6.26</debit>
<timestamp>2017-07-12 16:28:37 </timestamp>
</transaction>
.
.
.
현재 잔액 계산하기
거래 데이터를 가져온 뒤 계좌 테이블의 잔액도 갱신해야한다.
월별 고객 거래명세서 생성
- 먼저 ItemReader를 사용해 데이터베이스에서 고객 데이터를 읽어 온다.
- 그 뒤 각 거래명세서 작성에 필요한 모든 데이터를 추가하는 일을 담당하는 ItemProcessor에게 해당 고객 데이터를 보낸다.
- 그리고 최종적으로 필요한 모든 데이터의 추가가 완료된 아이템을 파일 기반 ItemWriter에게 전달한다.
반응형
'Spring > Spring Batch' 카테고리의 다른 글
[Spring Batch] 대량의 데이터 넣을 때 (bulk insert) (0) | 2022.05.05 |
---|---|
[Spring Batch] Chunk 기반 처리 (0) | 2022.05.05 |
스프링배치_완벽가이드_2장 스프링 배치 (0) | 2021.07.14 |
스프링배치_완벽가이드_1장 배치와 스프링 (0) | 2021.07.06 |
Spring Batch - 0 개념 (0) | 2021.01.27 |