본문 바로가기

spring-batch8

spring batch jpa 환경에서 ID 생성전략에 따른 bulk insert 하는법 source 는 Github 에 있습니다. spring batch jpa 환경에서 ID 생성전략에 따른 bulk insert 하는법 spring batch jpa 환경에서 bulk insert 하는법을 정리했습니다. jpa ID 생성전략에 따라 bulk insert 하는법을 정리해봤습니다. 애플리케이션에서 ID 를 채번하는 방법 애플리케이션에서 ID 를 채번해서 repository.save(xxx) 를 호출하면 merge 방식으로 동작합니다. merge 의 상세 동작은 1차 캐시에서 엔티티를 찾게되고, 데이터가 없으면 DB 를 조회하게 됩니다. 그런 후 데이터를 반환할 때 복사본을 만들게 되는데 약간의 리소스를 소모하게 됩니다. 복사본을 만드는 이유는 동시성 때문입니다. 만약 하나의 Entity 에 여러.. 2021. 6. 24.
spring-batch 통합 테스트 정리 source 는 Github 에 있습니다. spring-batch 통합 테스트 spring-batch 통합테스트 하는 방법 입니다. spring-batch 4.1 이상 기준으로 동작합니다. source tasklet 을 호출하는 간단한 예제입니다. @Slf4j @Configuration public class SimpleTaskletJob { @Autowired public JobBuilderFactory jobBuilderFactory; @Autowired public StepBuilderFactory stepBuilderFactory; private SimpleTaskletBean simpleTaskletBean; public SimpleTaskletJob(SimpleTaskletBean simple.. 2021. 6. 12.
spring-batch 개념 정리 spring-batch 개념 정리 Job 전체 배치 처리 과정을 추상화하는 의미. 파일을 읽고 쓰는 배치 작업이 있다면 이것의 전체 과정을 Job 이라 칭하는 것이지. JobInstance 잡 실행의 개념 JobID + JobParameters 로 구성. (JobID 는 Job 의 고유키) JobID + JobParameters 가 동일하면, 동일한 JobInstance 로 실행 JobParameters JobParameters 는 배치 Job 을 시작하는데 사용하는 파라미터의 집합 이 파라미터를 통해 배치 내부 프로그램의 아규먼트에 사용 JobInstance = Job + JobParameters JobExecution 잡 실행의 개념이지만 JobInstance 와 다른점은 JobExecution 은 .. 2020. 10. 17.
spring boot, spring batch 정리 - 5편 대용량, low latency 를 위해 어떤 ItemReader 가 좋은가? (spring-batch 병렬 처리) 이 문서는 추후 다시 볼 목적으로 정리한 글입니다. 우연찮게 글을 읽어보게 됐는데 정리하면 좋을 것 같아서 기록. 혹시 읽다가 틀린 점이 있으면 알려주시면 감사하겠습니다. JdbcCursorItemReader vs JdbcPagingItemReader reference 에 나온 답변을 보면 이용하는 데이터베이스와 처리하는 모델에 따라 달라진다고 하는데 이 말이 이해가 안간다. 추측하기로는 각 Reader 들은 fetchSize 를 통해 데이터를 받아오고 이는 네트워크를 거치는데 특정 DBMS 에서는 이 옵션이 안먹히기 때문이다. pagingItemReader 는 paging 만큼 데이터를 가져와야하는데 fetchSize 옵션이 제대로 설정돼지 않으면 어떻게 동작할지를 모를테고. 마찬가지로 cursorIt.. 2020. 7. 11.