XAConnection
XAConnection (분산 트랜잭션 연결)
분산 트랜잭션을 지원하는 객체입니다.
본문
XAConnection 객체는 XAResource 객체를 통해 분산 트랜잭션에 참여(enlist)할 수 있습니다.
트랜잭션 관리자(transaction manager)는 일반적으로 미들 티어(middle tier) 서버의 일부로, XAResource 객체를 통해 XAConnection 객체를 관리합니다.
XAConnection은 PooledConnection을 확장하므로, 연결 풀링 기능과 함께 사용할 수 있습니다. XAConnection이 제공하는 추가 메서드는 다음과 같습니다.
getXAResource()– 이XAConnection에 대한XAResource객체를 반환합니다.
XAResource는 전역 트랜잭션과 이 연결 사이의 연관을 관리합니다. 트랜잭션 관리자는 XAResource.start로 전역 트랜잭션에 연결을 참여시키고, XAResource.end로 연관을 해제하며, 2단계 커밋(두 단계 커밋) 프로토콜에 따라 prepare, commit, rollback을 호출합니다.
이를 통해 하나의 전역 트랜잭션이 여러 데이터베이스에 걸쳐 원자적으로 처리될 수 있습니다.