180 likes | 379 Views
chapter 08 : Transaction. 학습목표. Transaction 개요 BMT CMT Transaction attribute setRollbackOnly() 메소드. 기본 예 ( 장바구니 결재 ) 사용자로부터 주문확인을 받는다 . 사용자 신용카드 조회 및 결재 구입된 물품을 재고 목록에서 수량만큼 삭제 쇼핑 주문서를 만들고 제출. 하나의 작업처럼 동작해야 한다 . 묶어서 처리하는 작업을 Transaction 처리라고 한다. Transaction 개요.
E N D
chapter 08 : Transaction
학습목표 • Transaction 개요 • BMT • CMT • Transaction attribute • setRollbackOnly() 메소드
기본 예 ( 장바구니 결재 ) • 사용자로부터 주문확인을 받는다. • 사용자 신용카드 조회 및 결재 • 구입된 물품을 재고 목록에서 수량만큼 삭제 • 쇼핑 주문서를 만들고 제출 하나의 작업처럼 동작해야 한다. 묶어서 처리하는 작업을 Transaction 처리라고 한다. • Transaction 개요 • 정의 • 원자적인 단위작업의 묶음이다.
Transaction 개요 • Transaction 처리 결과 • 모든 작업이 성공. 커밋 ( commit ) • 작업들 중에서 한 개라도 실패. 실행이전 단계로 복귀 ( 롤백 ) • EJB Transaction 특징 • 처리하는 기본단위는 메소드 이다. • Transaction은 메소드 호출을 통해 전파될 수 있다. • BMT 와 CMT 2가지 종류가 있다. • 세션빈 , 메시지드리븐 빈은 BMT , CMT 모두 가능하다. • 엔티티빈은 CMT만 가능하다. • 여러 개의 메소드가 같은 Tx에서 실행된다는 의미? • 만약 어떤 메소드에서든지 롤백하면 빈에서 하려고 했던 모든 • 작업이 모두 롤백 된다는 의미이다.
BMT (Bean Managed Transaction)
BMT • 처리 방법 • javax.transaction.UserTransaction 이용한다.
BMT • 소스 작성
BMT • 컴파일 및 Jar 파일 작성
BMT • 실행
CMT (Container Managed Transaction)
CMT • 특징 • 속성값을 이용하여 Tx 처리를 담당한다. • 애플리케이션 예외는 자동 롤백되지 않는다. • ( RemoteException을 제외한 인터페이스에서 선언한 예외 ) • 반드시 setRollbackOnly() 메소드를 호출해야 한다. • 속성 • Required • Never • NotSupported • Mandatory • RequiresNew • Supports
CMT • 소스 작성
CMT • 컴파일 및 Jar 파일 작성 • 실행
CMT –애플리케이션 예외발생 • 소스 작성
CMT –애플리케이션 예외발생 • 컴파일 및 Jar 파일 작성 • 실행
CMT – requiresNew 속성 설정 • 속성 설정
공부한 내용 • Transaction 개요 • BMT • CMT • setRollbackOnly() 메소드