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 後に呼び出されます。

Queued Components Player は、 IPlaybackControl のメソッドを呼び出して、メッセージが最終的な休止キューまたは配信不能キューに配置されようとしていることを例外ハンドラー オブジェクトに通知します。 その後、Queued Components Player は、元のメソッド呼び出しで失敗した例外ハンドラー オブジェクト内の同じメソッドを呼び出します。 例外ハンドラー オブジェクトは、たとえば、問題診断情報を収集したり、クライアントに問題を通知するオブジェクトまたはメッセージを生成したりすることによって、代替手段を実装できます。 アプリケーションが IPlaybackControlを実装していない場合、キューに入れられたコンポーネント プレーヤーがすべての再試行を使い果たすと、有害メッセージは最終的な休止キューまたは配信不能キューに配置されます。

有害メッセージは、サーバーまたはキュー システムに問題がある可能性があるため、何らかの理由で処理できないメッセージです。 トランザクションがロールバックされ、有害メッセージがキューの先頭に移動します。 メッセージが再びデキューされると、同じ条件が発生します。 このメッセージは、問題を修正するために何かが行われるまで、無期限にループを続けることができます。 Queued Components サービスは、一連の再試行を使用して有害メッセージを処理します。 再試行が複数回失敗すると、メッセージは最終的な休止キューに移動されます。 有害メッセージは、Queued Components Message Mover ツールを使用して手動で移動するまで、残りのキューに残ります。

有害メッセージの状況は、 FinalServerRetry メソッドを使用してプログラムで解決することもできます。このメソッドは、遅延アクティブ化を再生しようとするすべての試行が失敗したことをサーバー側コンポーネントの作成者に通知します。

有害メッセージが見つかった場合は、問題の根本的な原因をすばやく解決できる可能性があります。 たとえば、何らかの理由でサーバーがオフラインだった場合は、サーバーをオンラインに戻すことができます。 問題を迅速に解決できない場合は、トランザクションが発生しなかったことを要求者に通知する別のトランザクションを自動的に生成できます。 要求元は、既にコミットされているトランザクションの影響を取り消す補正トランザクションを作成できます。

メソッド

名前 説明
FinalClientRetry()

クライアント側の例外処理コンポーネントに、メッセージ キューがサーバーにメッセージを配信しようとしたすべての試行が拒否され、メッセージがクライアント側の Xact 配信不能キューで終了したことを通知します。

FinalServerRetry()

サーバー側の例外クラスの実装に、サーバーへの遅延アクティブ化の再生が失敗し、メッセージが最終的な休止キューに移動されようとしていることを通知します。

適用対象