chapter 08 : Transaction

18

description

chapter 08 : Transaction. 학습목표. Transaction 개요 BMT CMT Transaction attribute setRollbackOnly() 메소드. 기본 예 ( 장바구니 결재 ) 사용자로부터 주문확인을 받는다 . 사용자 신용카드 조회 및 결재 구입된 물품을 재고 목록에서 수량만큼 삭제 쇼핑 주문서를 만들고 제출. 하나의 작업처럼 동작해야 한다 . 묶어서 처리하는 작업을 Transaction 처리라고 한다. Transaction 개요. - PowerPoint PPT Presentation

Transcript of chapter 08 : Transaction

Page 1: chapter 08  : Transaction
Page 2: chapter 08  : Transaction

chapter 08chapter 08 : :

TransactionTransaction

Page 3: chapter 08  : Transaction

학습목표학습목표

Transaction Transaction 개요개요

BMT BMT

CMTCMT

Transaction attributeTransaction attribute

setRollbackOnly() setRollbackOnly() 메소드 메소드

Page 4: chapter 08  : Transaction

Transaction Transaction 개요개요

정의정의 원자적인 단위작업의 묶음이다원자적인 단위작업의 묶음이다 ..

기본 예 기본 예 ( ( 장바구니 결재 장바구니 결재 ))

사용자로부터 주문확인을 받는다사용자로부터 주문확인을 받는다 ..

사용자 신용카드 조회 및 결재사용자 신용카드 조회 및 결재

구입된 물품을 재고 목록에서 수량만큼 삭제구입된 물품을 재고 목록에서 수량만큼 삭제

쇼핑 주문서를 만들고 제출쇼핑 주문서를 만들고 제출

하나의 작업처럼 동작해야 한다하나의 작업처럼 동작해야 한다 . .

묶어서 처리하는 작업을 묶어서 처리하는 작업을 Transaction Transaction 처리라고 한다처리라고 한다 ..

Page 5: chapter 08  : Transaction

Transaction Transaction 개요개요

Transaction Transaction 처리 결과처리 결과

모든 작업이 성공모든 작업이 성공 . . 커밋 커밋 ( commit )( commit )

작업들 중에서 한 개라도 실패작업들 중에서 한 개라도 실패 . . 실행이전 단계로 복귀 실행이전 단계로 복귀 ( ( 롤롤백 백 )) EJB Transaction EJB Transaction 특징특징

처리하는 기본단위는 메소드 이다처리하는 기본단위는 메소드 이다 ..

TransactionTransaction 은 메소드 호출을 통해 전파될 수 있다은 메소드 호출을 통해 전파될 수 있다 ..

BMT BMT 와 와 CMT 2CMT 2 가지 종류가 있다가지 종류가 있다 ..

세션빈 세션빈 , , 메시지드리븐 빈은 메시지드리븐 빈은 BMT , CMT BMT , CMT 모두 가능하다모두 가능하다 ..

엔티티빈은 엔티티빈은 CMTCMT 만 가능하다만 가능하다 ..

여러 개의 메소드가 같은 여러 개의 메소드가 같은 TxTx 에서 실행된다는 의미에서 실행된다는 의미 ??

만약 어떤 메소드에서든지 롤백하면 빈에서 하려고 했던 모든만약 어떤 메소드에서든지 롤백하면 빈에서 하려고 했던 모든

작업이 모두 롤백 된다는 의미이다작업이 모두 롤백 된다는 의미이다 ..

Page 6: chapter 08  : Transaction

BMT BMT

(Bean Managed Transaction)(Bean Managed Transaction)

Page 7: chapter 08  : Transaction

BMTBMT

처리 방법처리 방법

javax.transaction.UserTransaction javax.transaction.UserTransaction 이용한다이용한다 ..

Page 8: chapter 08  : Transaction

BMTBMT

소스 작성소스 작성

Page 9: chapter 08  : Transaction

BMTBMT

컴파일 및 컴파일 및 Jar Jar 파일 작성파일 작성

Page 10: chapter 08  : Transaction

BMTBMT

실행실행

Page 11: chapter 08  : Transaction

CMT CMT

(Container Managed (Container Managed Transaction)Transaction)

Page 12: chapter 08  : Transaction

CMTCMT

특징특징

속성값을 이용하여 속성값을 이용하여 Tx Tx 처리를 담당한다처리를 담당한다 ..

애플리케이션 예외는 자동 롤백되지 않는다애플리케이션 예외는 자동 롤백되지 않는다 ..

( RemoteException( RemoteException 을 제외한 인터페이스에서 선언한 예외 을 제외한 인터페이스에서 선언한 예외 ))

반드시 반드시 setRollbackOnly() setRollbackOnly() 메소드를 호출해야 한다메소드를 호출해야 한다 ..

속성속성

RequiredRequired

NeverNever

NotSupportedNotSupported

MandatoryMandatory

RequiresNewRequiresNew

SupportsSupports

Page 13: chapter 08  : Transaction

CMTCMT

소스 작성소스 작성

Page 14: chapter 08  : Transaction

CMTCMT

컴파일 및 컴파일 및 Jar Jar 파일 작성파일 작성

실행실행

Page 15: chapter 08  : Transaction

CMT – CMT – 애플리케이션 예외발생애플리케이션 예외발생

소스 작성소스 작성

Page 16: chapter 08  : Transaction

컴파일 및 컴파일 및 Jar Jar 파일 작성파일 작성

실행실행

CMT – CMT – 애플리케이션 예외발생애플리케이션 예외발생

Page 17: chapter 08  : Transaction

CMT – requiresNew CMT – requiresNew 속성 설정속성 설정

속성 설정속성 설정

Page 18: chapter 08  : Transaction

공부한 내용공부한 내용

Transaction Transaction 개요개요

BMTBMT

CMTCMT

setRollbackOnly() setRollbackOnly() 메소드메소드