인리스트먼트
리소스 관리자는 특정 트랜잭션에 참여하기 시작할 때 트랜잭션에 참여합니다. 인리스트먼트는 리소스 관리자가 수락하는 알림을 정의합니다. 리소스 관리자는 트랜잭션에 등록할 때 인리스트먼트 개체를 만듭니다. 이 개체는 RM(리소스 관리자)이 지정된 트랜잭션에 대한 알림을 요청하는 것을 KTM에 알릴 수 있습니다.
RM은 요청하는 알림을 자세히 설명하는 NOTIFICATION_MASK 구조를 제공합니다.
다음 함수는 인리스트먼트와 함께 사용됩니다.
함수 | Description |
---|---|
CommitComplete | RM(리소스 관리자)이 TM(트랜잭션 관리자)에서 요청한 트랜잭션 커밋을 완료했음을 나타냅니다. |
CreateEnlistment | 인리스트먼트를 만들고, 초기 상태를 설정하고, 지정된 액세스를 사용하여 인리스트먼트에 대한 핸들을 엽니다. |
GetEnlistmentRecoveryInformation | KTM에서 불투명한 복구 데이터 구조를 검색합니다. 복구 정보는 SetEnlistmentRecoveryInformation 함수를 호출하여 RM(리소스 관리자)을 대신하여 로그에 저장됩니다. 오류가 발생한 후 RM은 GetEnlistmentRecoveryInformation 함수를 사용하여 정보를 검색할 수 있습니다. |
OpenEnlistment | 기존 인리스트먼트 개체를 열고 인리스트먼트에 대한 핸들을 반환합니다. |
ReadOnlyEnlistment | 지정된 인리스트먼트를 읽기 전용 인리스트먼트로 변환하도록 요청합니다. 읽기 전용 인리스트먼트는 트랜잭션 결과에 참여할 수 없으며 복구를 위해 지속적으로 기록되지 않습니다. |
RollbackEnlistment | 인리스트먼트와 연결된 지정된 트랜잭션을 롤백합니다. 이 함수는 읽기 전용 인리스트먼트에 대해 호출할 수 없습니다. |
SetEnlistmentRecoveryInformation | KTM에서 복구 데이터의 불투명한 사용자 정의 구조를 설정합니다. 복구 정보는 SetEnlistmentRecoveryInformation을 호출하여 RM(리소스 관리자)을 대신하여 로그에 저장됩니다. 오류가 발생한 후 RM은 GetEnlistmentRecoveryInformation 을 사용하여 정보를 검색할 수 있습니다. |
SinglePhaseReject | RM(리소스 관리자)이 단일 단계 요청을 거부했음을 나타냅니다. TM(트랜잭션 관리자)이 이 호출을 수신하면 2단계 커밋을 시작하고 등록된 모든 RM에 준비 요청을 보냅니다. |