[Spring] 트랜잭션 동기화


[Spring] 트랜잭션 동기화

트랜잭션 동기화 Service에서 트랜잭션을 시작하기 위해 만든 Connection Object를 특별한 저장소에 보관해두고, 이후 호출되는 method에서는 저장된 Connection을 가져다가 사용하게 하는 방식 작업 스레드마다 독립적으로 Connection 오브젝트를 저장하고 관리하기에 다중 사용자를 처리하는 서버의 멀티 스레드 환경에서도 충돌이 날 염려가 없다. 흐름도 UserService는 Connection을 생성한다. Connection을 트랜잭션 동기화 저장소에 저장해고 Connection의 SetAutoCommit(false)를 호출해 트랜잭션을 시작시킨 후에 DAO 기능을 이용하기 시작 첫 번째 update() 메서드가 호출되고, update() 메서드 내부에서 이용하는 JdbcTemplate 메서드에서는 가장 먼저 트랜잭션 동기화 저장소에 현재 시작된 트랜잭션을 가진 Connection 오브젝트가 존재하는지 확인한다. 2번의 메서드 시작 부분에서 저장해둔 Conn...


#Spring #스프링 #트랜잭션 #트랜잭션동기화

원문링크 : [Spring] 트랜잭션 동기화