4.6.1.2. TransactionFactoryインタフェース |
TransactionFactoryインタフェースは、トランザクションを開始する際に使用するためのオブジェクトインタフェースです。
CosTransactions::TransactionFactoryクラスには次のメソッドがあります。
create | トップレベルトランザクションを生成する |
recreate | 中継トランザクションを生成する |
4.6.1.2.1. create |
名称 | create - トップレベルトランザクションを生成する |
形式 |
#include "CosTransactions.h" |
説明 | 新しいトップレベルトランザクションを生成します。
戻り値であるControlオブジェクトを使用することで、新しいトランザクションに関する管理や制御が可能となります。 time_outには新しく生成するトップレベルトランザクションのタイムアウト時間を指定します。そのトランザクションが開始されてtime_out秒経過しても完了していない場合、自動的にロールバックします。ただし、既にコミット処理を実施している場合はロールバックは実行しません。また、time_outに0を指定した場合はタイムアウトは発生しません。 |
戻り値 | Controlオブジェクトのオブジェクトリファレンスを返します。 |
エラー | CORBA標準例外がthrowされます。 |
関連項目 |
4.6.1.2.2. recreate |
名称 | recreate - 中継トランザクションを生成する |
形式 |
#include "CosTransactions.h" |
説明 | 新しい中継トランザクションを生成します。
戻り値であるControlオブジェクトを使用することで、新しい中継トランザクションに関する管理や制御が可能となります。 ctxには、上位トランザクションに関する情報を格納したPropagationContext構造体を指定します。 このトランザクションが、開始されてからPropagationContextのメンバであるtimeoutが示すタイムアウト時間(単位:秒)を経過しても完了していない場合、自動的にロールバックオンリーをマーク付けた状態にし、一連のトランザクションが最終的にはロールバックされるようにします。ロールバックは上位のトランザクションから発行されるかあるいは運用管理ツールから強制的に実行されるかのいずれかです。ただし、既にコミット処理を実施している場合はこの処理は実行しません。タイムアウト時間に0が指定されている場合はタイムアウトは発生しません。 |
戻り値 | Controlオブジェクトのオブジェクトリファレンスを返します。 |
エラー | CORBA標準例外がthrowされます。 |
関連項目 |