요약
1. 최초에 히카리데이터소스에서 풀엔트리크리에이터 생성 풀 엔트리크리에이터에서 콜() 호출
2. 히카리풀에서 createPoolEntry() 호출 PollBase에서 newPollEntry() 호출 뉴커넥션 호출 히카리데이터소스에서 겟커넥션 호출 커넥션 반환
3. 커넥션을 복사해서 커넥션풀 만큼 커넥션을 만듬
4. @Tramsctional 달린 메소드 시작 트랜잭션인터셉터 호출
5. TransactionAspectSupport의 invokeWithinTransaction() 호출 createTransactionIfNecessary() 호출
6. 플랫폼트랜잭션매니저의 구현체인 AbstractPlatformTransactionManager에서 겟트랜잭션시작
7. AbstractPlatformTransactionManager을 상속받은 하이버네이트트랜잭션매니저에서 doBegin()
8. 세션(SessionImpl) 이 이미존재하면 세션반환 존재하지 않으면 AbstractSharedSessionContract에서 JdbcCoordintor호출 물리적 커넥션 반환
9. DataSorceUtil에서 prepareConnectionForTransaction() 에 커넥션 삽입 후 격리수준 반환
10. HibernateTransactionObject에 격리수준 삽입
11. TransactionSynchronizationManager에 데이터소스와 커넥션 삽입
12. 작업진행
13. TransactionAspectSupport에서 commitTransactionAfterReturning() 호출 AbstractPlatformTransactionManager에서 commit호출 트랜잭션끝
'Spring' 카테고리의 다른 글
| 컨테이너, IOC 컨테이너 (0) | 2025.12.21 |
|---|---|
| 애플리케이션 컨택스트 (0) | 2025.12.21 |
| 빈 팩토리 (0) | 2025.12.21 |
| 스프링 빈 (0) | 2025.12.21 |
| 스프링 AOP (0) | 2025.12.13 |