인프런 커뮤니티 질문&답변

도토리님의 프로필 이미지

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

트랜잭션 문제 해결 - 트랜잭션 매니저2

transactionManager.commit() 호출 시 커넥션 정리

작성

·

424

0

transactionManager.commt() 또는 transactionManager.rollback()이 호출되면 트랜잭션 매니저가 자동으로 커넥션을 커넥션 풀에 반납해주는 것이 맞나요?

이때, con.setAutoCommit(true); 코드도 자동으로 실행되나요?

답변 1

0

안녕하세요, 도토리 님. 공식 서포터즈 y2gcoder 입니다.

두 가지 질문을 주셨고, 각각 답변을 드리도록 하겠습니다.

con.setAutoCommit(true); 코드도 자동으로 실행되나요?

이는 트랜잭션 매니저의 주요 기능 중 하나인 트랜잭션 추상화에서 설명해드린 내용입니다. 트랜잭션 매니저에서 공통으로 정의한 commit, 혹은 rollback 메서드를 호출하면 실제 구현체에서 해당 부분의 로직을 처리하게 됩니다. 구현 기술마다 해당 작업을 하는 코드가 달랐던 부분을 트랜잭션 매니저가 추상화를 통해 해결해준 것이기 때문입니다.

transactionManager.commt() 또는 transactionManager.rollback()이 호출되면 트랜잭션 매니저가 자동으로 커넥션을 커넥션 풀에 반납해주는 것이 맞나요?

image해당 강의의 강의자료 (24p) 부분을 보시면 말씀하신 것처럼 정리한다는 설명을 보실 수 있습니다 :)

말씀하신 부분들은 전부 현재 챕터인 트랜잭션 문제 해결에서 설명하고 있으니 애매한 부분이 있으시다면 복습하시길 추천드립니다 :)



감사합니다.