728x90
반응형
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() throws Exception {
JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
factory.setDataSource(dataSource);
factory.setTablePrefix("BATCH_");
factory.setTransactionManager(new DataSourceTransactionManager(dataSource));
factory.setIsolationLevelForCreate("ISOLATION_READ_COMMITTED");
factory.afterPropertiesSet();
return factory.getObject();
}
}
reference
'Spring > batch' 카테고리의 다른 글
spring-batch 개념 정리 (0) | 2020.10.17 |
---|---|
spring-batch RunIdIncrementer 정리 (0) | 2020.09.01 |
spring boot, spring batch 정리 - 1편 환경 구성 (spring boot, spring batch, gradle, multi project) (0) | 2020.07.11 |
spring boot, spring batch 정리 - 5편 대용량, low latency 를 위해 어떤 ItemReader 가 좋은가? (spring-batch 병렬 처리) (0) | 2020.07.11 |
spring boot, spring batch 정리 - 4편 JdbcCursorItemReader NamedParameter 사용 예제 (0) | 2020.07.09 |
댓글