본문 바로가기

Spring72

Spring Batch ORA-08177 Spring Batch ORA-08177 발생 원인 spring batch 테이블 접근 시 isolation level 이 serialize 로 걸려있을 때 위 에러가 발생. 즉, BATCH_JOB_INSTANCE, BATCH_JOB_EXECUTION 테이블 들에 동시 접근할 때 위 에러가 발생. 재연 방법 같은 배치를 몇십개씩 백그라운드로 돌리면 나옴. sh xxxxxx & 해결방안 @Configuration public class JobConfiguration extends DefaultBatchConfigurer { @Autowired private DataSource dataSource; @Override protected JobRepository createJobRepository() throw.. 2020. 8. 18.
spring boot, spring batch 정리 - 1편 환경 구성 (spring boot, spring batch, gradle, multi project) 이 문서는 추후 다시 볼 목적으로 정리한 글입니다. 환경 구성 spring boot spring batch jpa querydsl gradle (multi project) github source spring-boot-batch-example source 참고 1. 프로젝트 전체적인 구성 RootProject : spring-boot-example SubProject : spring-boot-batch-example 2. 프로젝트 구성 방법 Intellij multi project 만드는 법 참고 root build.gradle spring-boot-batch-example build.gradle 3. 구성 시 주의사항 SpringBoot 2.3.1 과 JPA 를 같이 사용하면 배치 프로그램 수행 시, .. 2020. 7. 11.
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 에서 yml 파일을 읽어서 map object 를 만드는 것 (map 형태) spring boot 에서 yml 파일을 읽어서 map object 를 만드는 것 정리 (map 형태) 아래 TEST1, TEST2 를 맵 객체에 담기. 2020. 7. 10.