トランザクションを呼び出す

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

呼び出しトランザクションは、ターゲット ノードで 1 つ以上のクラスタ コマンドを呼び出すために使用されます。これは、クラスタで定義されているコマンドに対して実行されるリモート プロシージャ コールに似ています。

書き込みトランザクションと同様に、呼び出しトランザクションは時間指定トランザクションと時間制限なしトランザクションをサポートします。時間指定取引について詳しくは、時間指定と時間制限のあるアクションをご覧ください。

時間制限のない呼び出しトランザクション

時間制限のない呼び出しトランザクションのオペレーションのシーケンス
図 1: 時間制限のない呼び出しトランザクション

リクエスト操作の呼び出し

方向: イニシエータ -> ターゲット

読み取りリクエスト アクションと書き込みリクエスト アクションと同様に、このイニシエータはターゲットに次のものを提供します。

  • 呼び出しリクエスト: クラスタ コマンドへのパスのリスト。コマンド フィールドという名前のコマンドに対するオプションの引数。
  • 時間指定リクエスト: このアクションが時間指定呼び出しトランザクションの一部であるかどうかを示すフラグ。
  • Suppress Response: 呼び出しレスポンス アクションを抑制する必要があるかどうかを示すフラグ。
  • インタラクション ID: 呼び出しリクエスト アクションと呼び出しレスポンス アクションの照合に使用される整数。

呼び出しアクションを呼び出す

方向: ターゲット -> イニシエータ

ターゲットは呼び出しリクエスト アクションを受信すると、以下を実行する呼び出しレスポンス アクションでトランザクションを完成させます。

  • Invoke Response: 送信されたすべての呼び出しリクエストに対するコマンド レスポンスまたはステータスのリスト。
  • インタラクション ID: 呼び出しレスポンス アクションと呼び出しリクエスト アクションの照合に使用される整数。

時間制限のない呼び出しの制限

呼び出しリクエスト アクションはグループキャストですが、この場合、[Suppress Response] フラグを設定する必要があります。そうしないと、グループのすべてのメンバーからの同時レスポンスがネットワークに殺到する可能性があります。

この動作を有効にするために、[Invoke Requests] リストで使用されるパスにグループを含めるか、ワイルドカードを含めることができます。ただし、[Endpoint] フィールドに限定します。さらに、アクションがグループキャストの場合、このトランザクションはレスポンスなしで終了します。

タイミング指定された呼び出しのトランザクション

時間指定書き込みトランザクションと同様に、時間指定呼び出しのトランザクションも時間指定リクエスト アクションで始まります。

タイミング指定された呼び出しトランザクションのオペレーションのシーケンス
図 2: 計時呼び出しトランザクション

時間指定リクエスト アクション

方向: イニシエータ -> ターゲット

イニシエータは、以下を含むこのアクションを送信するトランザクションを開始します。

  • タイムアウト: このトランザクションがオープンのままとなる時間(ミリ秒)。この間、イニシエータから送信された次のアクションは有効とみなされます。

時間指定リクエスト アクションを受信したら、ターゲットはステータス レスポンス アクションで時間指定リクエスト アクションを承認する必要があります。イニシエータは、エラーを報告しないステータス レスポンス アクションを受信すると、呼び出しリクエスト アクションを送信します。

リクエスト操作の呼び出し

前述の Invoke Request Action と同じです。

呼び出しアクションを呼び出す

前述の Invoke Response Action と同じです。

時間指定による呼び出しの制限

すべての呼び出しコマンドは、時間制限のあるインタラクションで呼び出すことができます。時間指定リクエスト アクション、呼び出しリクエスト アクション、呼び出しレスポンス アクションは、Unicast -only and thus can't be used as groupcast on Timed Invoke Transactions. です。

呼び出しリクエスト アクションは、グループを使用したパスとワイルドカードの使用をサポートしていますが、呼び出しレスポンス アクションはワイルドカードの使用をサポートしていません。