반응형

거래명세서 생성

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에게 전달한다.

 

반응형

+ Recent posts