본문 바로가기

Spring/batch15

spring boot, spring batch 정리 - 5편 대용량, low latency 를 위해 어떤 ItemReader 가 좋은가? (spring-batch 병렬 처리) 이 문서는 추후 다시 볼 목적으로 정리한 글입니다. 우연찮게 글을 읽어보게 됐는데 정리하면 좋을 것 같아서 기록. 혹시 읽다가 틀린 점이 있으면 알려주시면 감사하겠습니다. JdbcCursorItemReader vs JdbcPagingItemReader reference 에 나온 답변을 보면 이용하는 데이터베이스와 처리하는 모델에 따라 달라진다고 하는데 이 말이 이해가 안간다. 추측하기로는 각 Reader 들은 fetchSize 를 통해 데이터를 받아오고 이는 네트워크를 거치는데 특정 DBMS 에서는 이 옵션이 안먹히기 때문이다. pagingItemReader 는 paging 만큼 데이터를 가져와야하는데 fetchSize 옵션이 제대로 설정돼지 않으면 어떻게 동작할지를 모를테고. 마찬가지로 cursorIt.. 2020. 7. 11.
spring boot, spring batch 정리 - 4편 JdbcCursorItemReader NamedParameter 사용 예제 이 문서는 추후 다시 볼 목적으로 정리한 글입니다. source spring-boot-batch-example source 참고 JdbcCursorItemReader NamedParameter 사용 예제 핵심은 Sql 에 NamedParameterUtils 을 사용해서 named parameter 를 변환. @Bean public JdbcCursorItemReader itemReader() { String sql = "select * from person where id = :id and name = :name"; Map namedParameters = new HashMap() {{ put("id", 1); put("name", "foo"); }}; return new JdbcCursorItemReade.. 2020. 7. 9.
spring boot, spring batch 정리 - 3편 repeat step 예제 (파라미터만 변경해서 실행) 이 문서는 추후 다시 볼 목적으로 정리한 글입니다. repeat step 예제 (파라미터만 변경해서 실행) 동일한 step 을 파라미터만 변경해서 반복해서 실행 반복되는 횟수는 동적으로 제어. 반복 횟수 job configuration 아래 내용 중 중요한 것은 COMPLETED 와 FAILED 에 따라 step 이 계속실행될지 종료될지를 결정하는 것. 전체 source spring-boot-batch-example source 참고 reference https://jojoldu.tistory.com/328 참고 2020. 7. 8.