Programing/Spring-Batch2 Transaction 내에서 ExecutorType 변경 불가 오류 Spring-Batch로 개발을 진행하던 중 아래와 같은 오류를 접하였다. org.springframework.dao.TransientDataAccessResourceException: Cannot change the ExecutorType when there is an existing transaction 현상은 "Transaction내에서 ExecutorType이 변경될 수 없다” 이다. 위 현상은 Batch 처리를 할 때 발생할 수 있다. 그 이유는 아래와 같다. MybatisPagingItemReader를 사용하면 내부적으로 SqlSessionTemplate이 생성될 때 ExecutorType.BATCH로 지정된다. 만약 MybatisPagingItemReader에서 다른 쿼리를 날려보고자 한다면.. 2017. 3. 15. Spring-Batch commit-interval 설정 spring-batch commit-interval 이 정상적으로 수행되지 않아 삽질했던 경험이 있다. (혹시 유사한 삽질을 경험하고 있으신 분에게 도움이 되시길...) 담당 시스템에서 spring-batch 를 사용하고 있다. chunk 단위로 reader-writer 구조를 갖고 있는데, writer 에서 약 150만건의 데이터를 insert 하는 로직이다. 여기서만 2시간 이상 시간이 소요되었다. (때론 3시간이 넘게 걸리는 경우도 있었다.) 왜 이렇게 오래 걸릴까를 생각하다가 한건씩 처리되고 있는 것은 아닐까? 라는 의문이 들었다. 그래서 재현을 진행해 보았다. =“testReader" writer 2016. 3. 19. 이전 1 다음