4.6.1.6. RecoveryCoordinatorインタフェース

RecoveryCoordinatorインタフェースは、リカバラブルオブジェクトが自身の状態を回復するために使用するオブジェクトインタフェースです。

CosTransactions::RecoveryCoordinatorクラスには次のメソッドがあります。

replay_completion トランザクションの回復処理を実施する


   
4.6.1.6.1. replay_completion

名称 replay_completion - トランザクションの回復処理を実施する
形式
 #include "CosTransactions.h"
CosTransactions::Status CosTransactions::RecoveryCoordinator::replay_completion( CosTransactions::Resource_ptr r, CORBA::Environment& env = Ob_default_environment() );
説明 Resourceオブジェクトに対して回復処理(コミット、あるいはロールバック)を行います。
トランザクションコンテキスト側でこのメソッド要求を受けた場合、トランザクションの状態に応じて、指定されたResourceオブジェクトに対し、コミット、あるいはロールバックの命令を出します。

Ver3.2より、Heuristic状態のトランザクションのフォーゲットは運用管理ツール、あるいは運用管理コマンドから実施するように修正してあります。そのため、Heuristic状態時にこのメソッドを受信してもリカバリサーバからフォーゲットは発行しません。

rには、トランザクションの回復処理を行うResourceオブジェクトを指定します。

次の場合このメソッドはエラーとなります。
  • トランザクションに登録されているすべてのResourceオブジェクトに対してprepareの開始を要求していない。
  • トランザクションに登録されているResourceオブジェクトが1つの場合で、そのResourceオブジェクトに対してcommit_one_phaseの開始を要求していない。
また、メソッドの結果としてCORBA::OBJECT_NOT_EXIST標準例外が返ってきた場合は、トランザクションコンテキストが既に存在していませんのでWebOTX Transaction Service側からは何も処理が行われません。この場合リカバラブルオブジェクト自身がロールバックを行う必要があります。
戻り値 現在のトランザクションの状態を返します。
エラー CORBA標準例外または次の例外がthrowされます。

CosTransactions::NotPrepared トランザクションのコミット処理を開始していません。
関連項目 ありません。