IPlaybackControl 인터페이스

정의

메시지 큐 배달 메커니즘의 서버 쪽 재생 오류 및 클라이언트 쪽 오류의 비정상적인 처리에 있는 대기 중인 구성 요소의 함수입니다.

public interface class IPlaybackControl
[System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IPlaybackControl
[<System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IPlaybackControl = interface
Public Interface IPlaybackControl
특성

설명

COM+ 카탈로그의 구성 요소에 대해 정의된 예외 클래스는 원래 클래스의 인터페이스와 인터페이스를 모두 IPlaybackControl 구현합니다. 원래 클래스 인터페이스의 메서드 구현은 클래스 자체에서 실패한 메서드에 대한 예외 처리를 수행하는 데 사용됩니다. 원래 호출 FinalClientRetry 된 메서드에 대한 예외를 처리하거나 FinalServerRetry 호출합니다.

대기 중인 구성 요소 플레이어는 예외 처리기 개체에 최종 휴지 또는 배달 못한 편지 큐에 메시지가 배치될 예정임을 알리는 메서드 IPlaybackControl 를 호출합니다. 큐에 대기 중인 구성 요소 플레이어는 원래 메서드 호출에서 실패한 예외 처리기 개체에서 동일한 메서드를 호출합니다. 예외 처리기 개체는 예를 들어 문제 진단 정보를 수집하거나 클라이언트에 문제를 알리는 개체 또는 메시지를 생성하여 대안을 구현할 수 있습니다. 애플리케이션이 구현 IPlaybackControl하지 않으면 대기 중인 구성 요소 플레이어가 모든 재시도를 모두 소모할 때 포이즌 메시지가 최종 휴식 또는 배달 못 한 편지 큐에 배치됩니다.

포이즌 메시지는 서버 또는 큐 시스템에 문제가 있기 때문에 어떤 이유로 처리할 수 없는 메시지입니다. 트랜잭션이 롤백되고 포이즌 메시지가 큐의 맨 위로 이동합니다. 메시지가 다시 큐에서 해제되면 동일한 조건이 발생합니다. 이 메시지는 문제를 해결하기 위해 작업이 완료될 때까지 무기한 반복을 계속할 수 있습니다. 대기 중인 구성 요소 서비스는 일련의 재시도를 사용하여 포이즌 메시지를 처리합니다. 몇 차례 재시도에 실패하면 메시지가 최종 휴식 큐로 이동됩니다. 포이즌 메시지는 큐에 대기 중인 구성 요소 메시지 이동기 도구를 사용하여 수동으로 이동할 때까지 나머지 큐에 남아 있습니다.

포이즌 메시지 상황은 지연된 활성화를 재생하려는 모든 시도가 실패했음을 서버 쪽 구성 요소 작성자에게 알리는 메서드를 사용하여 FinalServerRetry 프로그래밍 방식으로 해결할 수도 있습니다.

포이즌 메시지를 발견하면 문제의 근본 원인을 신속하게 해결할 수 있습니다. 예를 들어 어떤 이유로 서버가 오프라인 상태인 경우 서버를 다시 온라인 상태로 만들 수 있습니다. 문제를 신속하게 해결할 수 없으면 요청자에게 트랜잭션이 발생하지 않았음을 알리는 다른 트랜잭션을 자동으로 생성할 수 있습니다. 그러면 요청자는 이미 커밋된 트랜잭션의 효과를 되돌리는 보상 트랜잭션을 만들 수 있습니다.

메서드

Name Description
FinalClientRetry()

클라이언트 쪽 예외 처리 구성 요소에 메시지를 서버에 배달하려는 모든 메시지 큐 시도가 거부되었으며 클라이언트 쪽 Xact 배달 못 한 편지 큐에서 메시지가 종료되었음을 알릴 수 있습니다.

FinalServerRetry()

서버 쪽 예외 클래스 구현에 지연된 활성화를 서버에 재생하려는 모든 시도가 실패했으며 메시지가 최종 휴지 큐로 이동될 예정임을 알릴 수 있습니다.

적용 대상