[스프링3트랜잭션강좌]스프링프로그래밍적트랜잭션TransactionDefinition,TransactionStatus,PlatformTransactionManager, Spring Framework3.X Transaction, 오라클자바커뮤니티, OracleJava커뮤니티 스프링 Transaction교육강좌강의
1. TransactionDefinition
public interface TransactionDefinition {
int getPropagationBehavior();
int getIsolationLevel();
int getTimeout();
boolean isReadOnly();
}
int getPropagationBehavior();
int getIsolationLevel();
int getTimeout();
boolean isReadOnly();
}
트랜잭션의 네 가지 속성(ACID) 중 개발자들이 제어 가능한 부분(트랜잭션 전달(Propagation), timeout, read-only 상태, 격리성(Isolation) 레벨의 네 가지 속성)을 추상화
getTimeOut : 실행하는 트랜잭션이 시작해서 종료할 때가지의 시간을 초단위 제어
isReadOnly : 실행하는 트랜잭션이 red-only 상태여부를 결정가능
getIsolationLevel : 트랜잭션의 격리레벨을 결정
getPropagationBehavior : 트랜잭션이 실행되어야 하는 범위에 대한 제어 및 여러개의 트랜잭션이 상호작용하는 것에 대한 결정
2. TransactionStatus
트랜잭션의 상태를 관리하는 역할을 담당. PlatformTransactionManager에서 트랜잭션을 Commit할지 Rollback 할지를 결정하기 위해 사용한다.
public interface TransactionStatus extends SavepointManager {
boolean isNewTransaction();
void setRollbackOnly();
boolean isRollbackOnly();
}
3. PlatformTransactionManager
실질적인 트랙잭션을 실행하는 역할을 한다. 트랜잭션 내에서 에러 없이 모든 작업을 완료할 경우에는 Commit, 에러가 발생할 경우에는 Rollback 작업을 실행할 수 있도록 지원한다.
public interface PlatformTransactionManager {
void commit(TransactionStatus status)...
void rollback(TransactionStatus status)..
}
댓글 없음:
댓글 쓰기