WEBBOOK CHAPTER

실무 스프링 배치 6: 4장. Chunk 트랜잭션 경계

4장. Chunk 트랜잭션 경계

Reader가 항목을 읽고 Processor가 변환하고 Writer가 chunk를 한 트랜잭션에 기록한다. 6의 Java 구성은 다음 형태다.


new StepBuilder("settlementStep", repository)
  .<OrderRow, Settlement>chunk(100)
  .transactionManager(transactionManager)
  .reader(reader).processor(processor).writer(writer)
  .build();

chunk가 너무 크면 rollback 비용과 lock 시간이 늘고, 너무 작으면 commit 비용이 늘어난다. 처리량만 보고 정하지 말고 DB 부하와 복구 단위를 함께 측정한다.