2014-11-27 6 views
5

JSR 907 JTA 1.2는 "글로벌 트랜잭션 (transaction)"라는 용어를 정의글로벌 거래 란 무엇입니까?

UserTransaction.begin 방법은 호출 스레드와 글로벌 트랜잭션 (transaction) 및 동료 트랜잭션을 시작합니다.

그 의미는 무엇입니까? 그것은 가장 바깥 쪽 거래입니까?

답변

4

기본적으로 로컬 트랜잭션과 글로벌 트랜잭션 간의 차이점은 리소스 바인딩입니다. 글로벌 트랜잭션은 여러 리소스로 확장됩니다. 로컬 트랜잭션은 하나의 자원/데이터 소스로 제한됩니다.

예.

글로벌 트랜잭션에서 DB에 쓰고 큐를 통해 메시지를 보냅니다.

이 잘 여기 설명 : 글로벌 트랜잭션에 참여할 수 http://integrationspot.blogspot.co.uk/2011/03/jta-transactions-local-and-global.html

글로벌 트랜잭션 (XA) 관리 데이터 소스가 글로벌 트랜잭션에 대해 구성된

, 그것은 반환 연결을 . 글로벌 트랜잭션 (분산 트랜잭션이라고도 함)은 트랜잭션에 둘 이상의 리소스를 제공합니다.

글로벌 트랜잭션은 여러 트랜잭션 리소스 (일반적으로 관계형 데이터베이스 및 메시지 큐)를 사용하여 작업 할 수있는 기능을 제공합니다.

+0

감사합니다. JTA가 Open/XA의 구현인지 명확히하고 싶습니다. –

+0

Open/XA는 글로벌 및 로컬 트랜잭션이 상호 작용하는 방식을 정의하는 아키텍처입니다. JTA는이 아키텍처를 모델로합니다. –