검색

5.3. 트랜잭션 오브젝트 사용

download PDF

트랜잭션을 일시 중지/사용하거나 리소스를 명시적으로 추가해야 하는 경우 javax. Cryostat.Transaction 오브젝트를 직접 사용해야 할 수 있습니다. 5.4절. “XA 등록 문제 해결” 에서 설명한 대로 프레임워크 또는 컨테이너는 일반적으로 리소스 등록에 자동으로 처리됩니다.

5.3.1. 트랜잭션 인터페이스 정의

JTA 트랜잭션 인터페이스에는 다음과 같은 정의가 있습니다.

interface javax.transaction.Transaction {

    public void commit();

    public void rollback();

    public void setRollbackOnly();

    public int getStatus();

    public boolean enlistResource(XAResource xaRes);

    public boolean delistResource(XAResource xaRes, int flag);

    public void registerSynchronization(Synchronization sync);
}

5.3.2. 트랜잭션 메서드 설명

commit(), rollback(), setRollbackOnly()getStatus() 메서드는 UserTransaction 인터페이스에서 해당 메서드와 동일한 동작을 갖습니다. 실제로 UserTransaction 오브젝트는 현재 트랜잭션을 검색한 다음 트랜잭션 오브젝트에서 해당 메서드를 호출하는 편리한 래퍼입니다.

또한 트랜잭션 인터페이스는 UserTransaction 인터페이스에 해당하지 않는 다음 메서드를 정의합니다.

enlistResource()

XA 리소스를 현재 트랜잭션에 연결합니다.

참고

이 방법은 XA 트랜잭션 컨텍스트에서 중요합니다. XA 트랜잭션을 특성화하는 현재 트랜잭션과 함께 여러 XA 리소스를 등록할 수 있는 기능을 정확하게 설명합니다. 반면, 명시적으로 리소스를 등록하는 것은 간과이며 일반적으로 프레임워크 또는 컨테이너가 이를 수행할 것으로 예상합니다. 예를 들면 5.4절. “XA 등록 문제 해결” 을 참조하십시오.

delistResource()

지정된 리소스를 트랜잭션에서 연결 해제합니다. 플래그 인수는 javax. Cryostat.Transaction 인터페이스에 정의된 다음 정수 값 중 하나를 사용할 수 있습니다.

  • TMSUCCESS
  • TMFAIL
  • TMSUSPEND
registerSynchronization()
javax. Cryostat.Synchronization 개체를 현재 트랜잭션에 등록합니다. Synchronization 오브젝트는 커밋 준비 단계 직전에 콜백을 수신하고 트랜잭션이 완료된 직후 콜백을 수신합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.