반응형 Framework & Lib/스프링21 AbstractRoutingDataSource에서 Transactional readonly값 false만 리턴하는 오류 해결 문제 상황connection 경로를 결정하는 AbstractRoutingDataSource에서 현재 실행중인 트랜잭션의 readonly 값을 읽어와 readonly=true 이면 slave db로 경로를 결정하고, readonly=false이면 master db로 경로를 결정하는데AbstractRoutingDataSource의 구현체에서 TransactionSynchronizationManager.isCurrentTransactionReadOnly()를 호출하면 false만 리턴이됨 문제 원인 PlatformTransactionManager가 커넥션 경로를 먼저 설정하고 이후에 트랜잭션 상태를 설정함.따라서 커넥션 경로를 설정하는 시점에 트랜잭션 상태가 정의되어있지 않아 default로 false만 반환.. 2024. 6. 16. 스프링 빈 생성 과정 분석 [3] - BeanFactoryPostProcessor, BeanPostProcessor [스프링 빈 생성 과정 분석 시리즈]스프링 빈 생성 과정 분석 [1] - Application Context(BeanFactory)스프링 빈 생성 과정 분석 [2] - BeanDefinitionRegistry, SingletonBeanRegistry스프링 빈 생성 과정 분석 [3] - BeanFactoryPostProcessor, BeanPostProcessor스프링 빈 생성 과정 분석 [4] - 디버깅 참고 자료 이전 포스팅에서 BeanDefinitionRegsitry와 SingletonRegistry에 관련하여 빈 생성과정에 대해 설명하였다. 이번 포스팅에서는 아래 굵은 글씨로 밑줄친 내용에 대해 알아볼 것이다. 1) 생성할 빈의 BeanDefition 정의 2) BeanFactory.. 2024. 4. 20. 스프링 빈 생성 과정 분석 [2] - BeanDefinitionRegistry, SingletonBeanRegistry [스프링 빈 생성 과정 분석 시리즈]스프링 빈 생성 과정 분석 [1] - Application Context(BeanFactory)스프링 빈 생성 과정 분석 [2] - BeanDefinitionRegistry, SingletonBeanRegistry스프링 빈 생성 과정 분석 [3] - BeanFactoryPostProcessor, BeanPostProcessor스프링 빈 생성 과정 분석 [4] - 디버깅 참고 자료 지난 포스팅에서 스프링 빈을 생성하는 주체인 application context가 어떻게 이루어져 있는지 알아보았다.이번 포스팅에서는 본격적으로 스프링 빈이 어떻게 생성되는지 그 과정을 알아보도록 하겠다. 1. 빈 생성 과정스프링 빈 생성과정에 대해 간단히 소개 하겠다. 1) 생성할 .. 2024. 4. 20. 스프링 빈 생성 과정 분석 [1] - Application Context(BeanFactory) [스프링 빈 생성 과정 분석 시리즈]스프링 빈 생성 과정 분석 [1] - Application Context(BeanFactory)스프링 빈 생성 과정 분석 [2] - BeanDefinitionRegistry, SingletonBeanRegistry스프링 빈 생성 과정 분석 [3] - BeanFactoryPostProcessor, BeanPostProcessor스프링 빈 생성 과정 분석 [4] - 디버깅 참고 자료 ApplicationContext(IOC 컨텍스트) 소개IOC (Inversion of Control, 제어의 역전)제어의 역전이란 프로그램의 제어 흐름 구조를 바꾸는 것이다.프로그램의 제어권이 개발자가 작성한 코드에 있는 것이 아니라 외부에 존재하는 것을 말한다.프로그램의 제어권에는 객체 생.. 2024. 4. 20. 이전 1 2 3 4 5 6 다음 반응형