Coordinatorインタフェース

Coordinatorインタフェースは、次の場合に使用するオブジェクトインタフェースです。

クラスorg.omg.CosTransactions.Coordinatorには次のメソッドがあります。

get_status 自トランザクションの状態を取得する
get_parent_status 親トランザクションの状態を取得する
get_top_level_status トップレベルトランザクションの状態を取得する
is_same_transaction 同一トランザクションであるかどうかを調査する
is_ancestor_transaction 祖先のトランザクションであるかどうかを調査する
is_descendant_transaction 子孫のトランザクションであるかどうかを調査する
is_related_transaction 関連するトランザクションであるかどうかを調査する
is_top_level_transaction トップレベルトランザクションであるかどうかを調査する
hash_transaction 自トランザクションのハッシュコードを取得する
hash_top_level_tran トップレベルトランザクションのハッシュコードを取得する
register_resource Resourceオブジェクトを登録する
register_synchronization Synchronizationオブジェクトを登録する
register_subtran_aware SubtranAwareResourceオブジェクトを登録する
rollback_only ロールバックオンリーをマークする
get_transaction_name トランザクション名を取得する
create_subtransaction 新しいサブトランザクションを生成する
get_txcontext PropagationContext構造体を取得する

   
get_status

名称 get_status - 自トランザクションの状態を取得する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public Status get_status ();
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションの現在の状態を取得します。
戻り値 自トランザクションの現在の状態を返します。
エラー CORBA標準例外がthrowされます。
関連項目

   
get_parent_status

名称 get_parent_status - 親トランザクションの状態を取得する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public Status get_parent_status ();
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションの親であるトランザクションの現在の状態を取得します。ただし親トランザクションが存在しない場合はorg.omg.CosTransactions.Coordinator.get_statusと同様の動作をします。
戻り値 親トランザクションの現在の状態を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
get_top_level_status

名称 get_top_level_status - トップトランザクションの状態を取得する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public Status get_top_level_status ();
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションのトップに位置するトランザクションの現在の状態を取得します。ただし自トランザクションがトップレベルである場合はorg.omg.CosTransactions.Coordinator.get_statusと同様の動作をします。
戻り値 トップトランザクションの現在の状態を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
is_same_transaction

名称 is_same_transaction - 同一トランザクションであるかどうかを調査する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public boolean is_same_transaction (
         org.omg.CosTransactions.Coordinator tc
     ); 
 }
説明 引数で指定されたCoordinatorオブジェクトと、このメソッドを呼び出す際に使用しているCoordinatorオブジェクトが同一のトランザクションと関連付けられている場合はtrueを返します。そうでない場合はfalseを返します。基本的にトップレベルトランザクションとその下位にある中継トランザクションは同一のトランザクションとみなすのでtrueが返ります。逆にトップレベルトランザクションとサブトランザクションは別のトランザクションとみなすのでfalseが返ります。
戻り値 同一トランザクションであるかどうかを示すブーリアン値を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
is_ancestor_transaction

名称 is_ancestor_transaction - 祖先のトランザクションかどうかを調査する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public boolean is_ancestor_transaction (
         org.omg.CosTransactions.Coordinator tc
     ); 
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションが、引数で指定されたCoordinatorオブジェクトに関連付けられたトランザクションの祖先である場合はtrueを返します。そうでない場合はfalseを返します。トランザクションT1、T2について、T1とT2が同じである、あるいはT1がT2の親の祖先である場合、T1はT2の祖先となります。
戻り値 祖先のトランザクションであるかどうかを示すブーリアン値を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
is_descendant_transaction

名称 is_descendant_transaction - 子孫のトランザクションかどうかを調査する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public boolean is_descendant_transaction (
         org.omg.CosTransactions.Coordinator tc
     ); 
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションが、引数で指定されたCoordinatorオブジェクトに関連付けられたトランザクションの子孫である場合はtrueを返します。そうでない場合はfalseを返します。トランザクションT1、T2について、T2がT1の先祖である場合、T1はT2の子孫となります。
戻り値 孫のトランザクションであるかどうかを示すブーリアン値を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
is_related_transaction

名称 is_related_transaction - 関連するトランザクションかどうかを調査する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public boolean is_related_transaction (
         org.omg.CosTransactions.Coordinator tc
     ); 
 }
説明 引数で指定されたCoordinatorオブジェクトに関連付けられたトランザクションが、このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションと親類関係がある場合はtrueを返します。そうでない場合はfalseを返します。トランザクションT1、T2について、T3がT1の先祖で、かつT3がT2の先祖であるようなトランザクションT3が存在する場合、T1はT2と親類関係があるとなります。
戻り値 関連するトランザクションであるかどうかを示すブーリアン値を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
is_top_level_transaction

名称 is_top_level_transaction - トップレベルトランザクションかどうかを調査する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public boolean is_top_level_transaction (); 
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションがトップレベルである場合はtrueを返します。そうでない場合はfalseを返します。
戻り値 トップレベルトランザクションであるかどうかを示すブーリアン値を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
hash_transaction

名称 hash_transaction - 自トランザクションのハッシュコードを取得する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public int hash_transaction (); 
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションのハッシュコードを取得します。
戻り値 int型のハッシュコードを返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
hash_top_level_tran

名称 hash_top_level_tran - トップレベルトランザクションのハッシュコードを取得する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public int hash_top_level_tran (); 
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションのトップであるトランザクションのハッシュコードを取得します。ただしこれがトップレベルトランザクションである場合はorg.omg.CosTransactions.Coordinator.hash_transactionと同様の処理を実施します。
戻り値 int型のハッシュコードを返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
register_resource

名称 register_resource - Resourceオブジェクトを登録する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public org.omg.CosTransactions.RecoveryCoordinator register_resource (
         org.omg.CosTransactions.Resource r
     );
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションに、引数で指定されたResourceオブジェクトを登録します。同一のResourceオブジェクトを複数登録することはできません。またトランザクションがコミット、あるいはロールバック処理を開始してしまった後にこの処理を実行すると登録に失敗します。さらにロールバックオンリーにマーク付けされている場合も失敗します。これらのResourceオブジェクトは、トランザクションの一部として実行した更新をコミット、あるいはロールバックするための処理要求を受けることになります。実際の処理はResourceインタフェースの各メソッド内で記述します。
戻り値 org.omg.CosTransactions.RecoveryCoordinatorオブジェクトを返します。
エラー CORBA標準例外または次の例外がthrowされます。

org.omg.CosTransactions.Inactive トランザクションが既にコミット処理を開始しています。
関連項目 ありません。

   
register_synchronization

名称 register_synchronization - Synchronizationオブジェクトを登録する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public void register_synchronization (
         org.omg.CosTransactions.Synchronization  sync
     );
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションに、引数で指定されたSynchronizationオブジェクトを登録します。
同一のSynchronizationオブジェクトを複数登録することはできません。またトランザクションがコミット、あるいはロールバック処理を開始してしまった後にこの処理を実行すると登録に失敗します。さらにロールバックオンリーにマーク付けされている場合も失敗します。Synchronizationオブジェクトは、トランザクションに登録されているResource群にprepare処理要求が出される直前、あるいは2フェーズコミットが完了した直後に、アプリケーション側で独自の処理を実行したい場合に使用します。WebOTX Transaction ServiceではSynchronizationの機能をサポートしているので、org.omg.CosTransactions.SynchronizationUnavailable例外はthrowしません。
戻り値 ありません。
エラー CORBA標準例外または次の例外がthrowされます。

org.omg.CosTransactions.Inactive トランザクションが既にコミット処理を開始しています。
関連項目 ありません。

   
register_subtran_aware

名称 register_subtran_aware - SubtransactionAwareResourceオブジェクトを登録する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public void register_subtran_aware (
         org.omg.CosTransactions.SubtransactionAwareResource r
     );
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションに、引数で指定されたSubtransactionAwareResourceオブジェクトを登録します。
同一のSubtransactionAwareResourceオブジェクトを複数登録することはできません。
また、このトランザクションがサブトランザクションでない場合は登録に失敗します。さらにこのサブトランザクションがコミット、あるいはロールバック処理を終了してしまった後、あるいはロールバックオンリーにマーク付けされた後にこの処理を実行すると登録に失敗します。

このメソッドでは、引数で指定した SubtransactionAwareResourceオブジェクトをサブトランザクションにしか登録しないことに注意してください。トランザクションに、SubtransactionAwareResourceとしてではなく、Resourceオブジェクトとして登録する場合は、org.omg.CosTransactions.Coordinator.register_resourceメソッドで別に登録する必要があります。
戻り値 ありません。
エラー CORBA標準例外または次の例外がthrowされます。

org.omg.CosTransactions.Inactive トランザクションが既にコミット処理を開始しています。
org.omg.CosTransactions.NotSubtransaction このトランザクションはサブトランザクションではありません。
関連項目 ありません。

   
rollback_only

名称 rollback_only - ロールバックオンリーをマーク付けする
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public void rollback_only ();
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションに対してロールバックオンリーをマーク付けします。これによって、このトランザクションがコミットされることはなくなり、最終的にはロールバックしかされなくなります。このトランザクションがコミット、あるいはロールバック処理を開始してしまった後にこの処理を実行すると失敗します。
戻り値 ありません。
エラー CORBA標準例外または次の例外がthrowされます。

org.omg.CosTransactions.Inactive トランザクションが既にコミット処理を開始しています。
関連項目 ありません。

   
get_transaction_name

名称 get_transaction_name - トランザクション名を取得する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public String get_transaction_name ();
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションを表現するプリンタブルな名前を取得します。
戻り値 トランザクション名を表す文字列を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。

   
create_subtransaction

名称 create_subtransaction - 新しいサブトランザクションを生成する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public org.omg.CosTransactions.Control create_subtransaction ();
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクションが親となるような、新しいサブトランザクションを生成します。
親となるトランザクションがコミット、あるいはロールバック処理を開始してしまった後にこの処理を実行した場合、またはロールバックオンリーに既にマーク付けされた場合にこの処理を実行すると生成に失敗します。
尚、WebOTX Transaction Serviceについては、リカバリサーバではサブトランザクションをサポートしています。そのため、リカバリサーバを利用してトランザクションの制御を行う場合は、org.omg.CosTransactions.SubtransactionsUnavailable例外はthrowしません。
戻り値 サブトランザクションと関連付けられたControlオブジェクトを返します。
エラー CORBA標準例外または次の例外がthrowされます。

org.omg.CosTransactions.Inactive 親となるトランザクションが既にコミット処理を開始しています。
org.omg.CosTransactions.SubtransactionsUnavailable サブトランザクションはサポートしていません。
関連項目 ありません。

   
get_txcontext

名称 get_txcontext - PropagationContext構造体を取得する
形式
 package org.omg.CosTransactions;

 public interface Coordinator {
     public org.omg.CosTransactions.PropagationContext get_txcontext();
 }
説明 このメソッドを呼び出す際に使用しているCoordinatorオブジェクトに関連付けられたトランザクション内で管理しているorg.omg.PropagationContext構造体を返却します。
尚、WebOTX Transaction Serviceではorg.omg.CosTransactions.Unavailable例外はthrowしません。
戻り値 org.omg.PropagationContext構造体を返します。
エラー CORBA標準例外がthrowされます。
関連項目 ありません。