글로벌 트랜잭션
애플리케이션이 두 개 이상의 자원을 사용하는 경우, 외부 트랜잭션 관리자는 글로벌 트랜잭션에서 모든 자원 관리자에 대한 업데이트를 조정해야 합니다.
글로벌 트랜잭션 지원은 애플리케이션 클라이언트 컴포넌트에 일부 제한사항으로 웹 및 엔터프라이즈 Bean 컴포넌트에 사용할 수 있습니다. 엔터프라이즈 Bean 컴포넌트를 두 개의 카테고리(컨테이너 관리 트랜잭션(CMT) 및 Bean 관리 트랜잭션(BMT)을 사용하는 Bean)로 세분할 수 있습니다.
BMT 엔터프라이즈 Bean, 애플리케이션 클라이언트 구성요소 및 웹 구성요소만 JTA(Java™ Transaction API)를 사용할 수 있습니다. UserTransaction 글로벌 트랜잭션의 경계를 정의하는 인터페이스입니다. UserTransaction 인터페이스를 확보하려면, java:comp/UserTransaction의 JNDI(Java Naming and Directory Interface) 찾아보기를를 사용하거나 SessionContext 오브젝트에서 getUserTransaction 메소드를 사용하십시오.
UserTransaction 인터페이스는 CMT 엔터프라이즈 Bean에 사용할 수 없습니다. CMT 엔터프라이즈 Bean이 이 인터페이스를 얻으려고 하면, Enterprise JavaBeans(EJB) 스펙에 따라 예외가 처리됩니다.
UserTransaction 인터페이스의 JNDI 검색을 수행하는 프로그램이 인터페이스의 로컬 구현으로 해석되는 InitialContext를 사용하는지 확인하십시오. 또한 이러한 프로그램이 EJB 버전에 해당하는 JNDI 위치를 사용하는지도 확인하십시오.
WebSphere® Application Server 버전 4 이상 릴리스는 UserTransaction EJB 버전에 지정된 JNDI 위치의 인터페이스 1.1 사양. 이 위치는 java:comp/UserTransaction입니다.
웹 컴포넌트 또는 엔터프라이즈 Bean(CMT 또는 BMT)은 JTA 지원을 제공하는 추가 인터페이스를 사용할 수 있습니다. 이 인터페이스는 트랜잭션 ID와 트랜잭션 완료 알림을 수신하는 메커니즘을 제공합니다. 인터페이스는 TransactionSynchronizationRegistry 인터페이스, ExtendedJTATransaction 인터페이스 및 UOWSynchronizationRegistry 인터페이스를 포함합니다.