BATCH
-
spring batch reader에서 transaction read mode로 실행하기spring 2020. 5. 21. 20:26
현재 검색 spring batch는 reader에서 db select시 write mode로 동작됩니다. 모든 것이 그런것은 아니고 chunk oriented batch에서 그렇게 돌아가게 되는데요 배치가 많아질 수록 가져와야 하는 데이터 양이 많아질 수록 write mode = master db로 부하를 주기 때문에 read mode = slave db로 타게 만들어줘야 할 필요성이 생겨 변경하는 작업을 하였습니다 reader, processor, writer 3개가 한개의 트랜잭션으로(write mode) 묶이며 chunk size 기준으로 rollback되기 때문에 reader에서 새로운 트랜잭션을 열어줘야 됩니다. 그래서 추가한 작업은 QuerydslItemReader.class jpasqlCus..
-
Spring Batch with QuerydslItemReaderJPA 2020. 5. 2. 12:06
무신사 java 개발팀에서는 다양한 배치 작업을 하고 있는데요 spring batch를 사용하여 배치 작업을 하고 있습니다 저희는 database에 접근하기 위해서 querydsl을 사용하고 있는데요 spring batch에서 querydsl을 지원해주고 있지 않습니다. 그래서 어쩔수 없이 작년에 코드를 만들었는데요 생각 보다 간단합니다. 필요하신 분들이 계실 것 같아서 공유하도록 하겠습니다. 저희가 실제로 실무에서 사용하고 있는 코드이기도 합니다만 기본 샘플이니 수정할 게 있다면 수정해서 사용해주세요! package com.musinsa.batch.customreader; import com.musinsa.config.db.JpaSqlCustomQuery; import org.apache.commons..