Trn
Trnの概要
名前空間
Hitachi.OpenTP1.Server
継承関係
System.Object +- Hitachi.OpenTP1.Server.Trn
説明
Trnクラスは,OpenTP1独自のトランザクション制御をするメソッドを提供します。
メソッドの一覧
名称 |
説明 |
---|---|
グローバルトランザクションを,このメソッドを呼び出したプロセスから開始します。 |
|
グローバルトランザクションの正常終了(コミット)を,トランザクションを構成するトランザクションブランチ,トランザクションサービス,およびリソースマネジャに知らせます。 |
|
トランザクションの同期点を取得します。グローバルトランザクションのルートトランザクションブランチとして,処理が正常に終了したこと(コミット)を,トランザクションを構成するトランザクションブランチのUAP,トランザクションサービス,およびリソースマネジャに知らせます。 |
|
GetInfoメソッドを呼び出したUAPが,現在トランザクションとして起動しているかどうかを返します。 |
|
トランザクションをロールバックします。非連鎖モードでロールバックしたあとには,トランザクションは続けて開始しません。 |
|
トランザクションをロールバックします。RollbackChainedメソッドを呼び出したあとには,続けてトランザクションが開始します。 |
メソッドの詳細
●Begin
- 説明
-
グローバルトランザクションを,このメソッドを呼び出したプロセスから開始します。
Beginメソッドを呼び出したプロセスは,グローバルトランザクションのルートトランザクションブランチになります。
Beginメソッドを呼び出したUAPは,実行環境の設定でトランザクション属性を指定しておいてください。また,すでにBeginメソッドを呼び出しているグローバルトランザクションの中では,どのトランザクションブランチからも再びBeginメソッドを呼び出せません。一つのグローバルトランザクション中で重複して呼び出した場合は例外が発生します。
- 宣言
-
- 【C#の場合】
public static void Begin( );
- 【Visual Basicの場合】
Public Shared Sub Begin( _ )
- 【J#の場合】
public static void Begin( );
- パラメタ
-
なし
- 戻り値
-
なし
- 例外
-
- Hitachi.OpenTP1.Server.TP1ServerException
-
次の情報が出力されます。
-
メッセージ
例外の内容が出力されます。
OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
"OpenTP1提供関数実行時にエラーが発生しました。"
それ以外の場合は,各エラーに対応したメッセージが出力されます。
-
クラス名
例外が発生したクラス名が出力されます。
-
メソッド名
例外が発生したメソッド名が出力されます。
-
エラーコード
発生原因に応じ,次のエラーコードが出力されます。
エラーコード
説明
DCTRNER_PROTO
Beginメソッドを不正なコンテキスト(例えば,すでにトランザクション内にいる)から呼び出しています。
RpcクラスのOpenメソッドを呼び出していません。
DCTRNER_RM
リソースマネジャ(RM)でエラーが発生しました。
トランザクションは開始できませんでした。
DCTRNER_TM
トランザクションサービスでエラーが起こったので,トランザクションは開始できませんでした。このエラーコードが戻った場合は,再びBeginメソッドを実行すると成功する可能性が高いので,再実行してください。
-
●Commit
- 説明
-
グローバルトランザクションの正常終了(コミット)を,トランザクションを構成するトランザクションブランチ,トランザクションサービス,およびリソースマネジャに知らせます。
Commitメソッドが正常に終了したあとで,新しいグローバルトランザクションは開始しません。
グローバルトランザクションが複数のトランザクションブランチから構成されるとき(メソッドを呼び出したUAPだけでないとき)は,それぞれのトランザクションブランチの処理結果がコミットとならないかぎり,コミットされません。
Commitメソッドを呼び出せるのは,ルートトランザクションブランチ(トランザクションを開始したUAP)だけです。それ以外のUAPから呼び出した場合は,例外が発生します。
Commitメソッドを呼び出すプロセスは,このクラスリファレンスの記述に従って正しく作成されたUAPを稼働させたものでなければなりません。
Commitメソッドは,同期点処理が完了したときに,正常に終了,またはエラーリターンのどちらかで返ります。Commitメソッドを呼び出すサービスが正常に終了するためには,UAPの実行環境を設定するときに,トランザクション属性を指定していることが前提となります。
- 宣言
-
- 【C#の場合】
public static void Commit( );
- 【Visual Basicの場合】
Public Shared Sub Commit( _ )
- 【J#の場合】
public static void Commit( );
- パラメタ
-
なし
- 戻り値
-
なし
- 例外
-
- Hitachi.OpenTP1.Server.TP1ServerException
-
次の情報が出力されます。
-
メッセージ
例外の内容が出力されます。
OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
"OpenTP1提供関数実行時にエラーが発生しました。"
それ以外の場合は,各エラーに対応したメッセージが出力されます。
-
クラス名
例外が発生したクラス名が出力されます。
-
メソッド名
例外が発生したメソッド名が出力されます。
-
エラーコード
発生原因に応じ,次のエラーコードが出力されます。
エラーコード
説明
DCTRNER_HAZARD
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。プロセスはグローバルトランザクションの範囲外です。
DCTRNER_HEURISTIC
Commitメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
このエラーコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合に返します。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。プロセスはグローバルトランザクションの範囲外です。
DCTRNER_PROTO
Commitメソッドを不正なコンテキスト(例えば,すでにトランザクション中にいない)で呼び出しています。
トランザクションモードに対する影響はありません。
RpcクラスのOpenメソッドを呼び出していません。
DCTRNER_ROLLBACK
現在のトランザクションは,コミットできないでロールバックしました。プロセスはトランザクションの範囲外です。
-
●CommitChained
- 説明
-
トランザクションの同期点を取得します。グローバルトランザクションのルートトランザクションブランチとして,処理が正常に終了したこと(コミット)を,トランザクションを構成するトランザクションブランチのUAP,トランザクションサービス,およびリソースマネジャに知らせます。
CommitChainedメソッドが正常に終了すると,新しいグローバルトランザクションが開始され,メソッドを呼び出したプロセスはこのトランザクションの範囲内になります。しかし,このことは,このメソッドを呼び出したUAP以外のトランザクションモードに対しての指定を意味しません。
グローバルトランザクションが複数のトランザクションブランチから構成されるとき(メソッドを呼び出したUAPだけでないとき)は,それぞれのトランザクションブランチの処理結果がコミットとならないかぎりコミットされません。
CommitChainedメソッドを呼び出せるのはルートトランザクションブランチ(Beginメソッドを呼び出したUAP)だけです。それ以外のUAPから呼び出した場合は,例外が発生します。
CommitChainedメソッドを呼び出すプロセスは,このクラスリファレンスの記述に従って正しく作成されたUAPを稼働させたものでなければなりません。
CommitChainedメソッドは,同期点処理が完了したときに正常に終了,または例外応答のどちらかで返ります。CommitChainedメソッドが正常に終了するためには,UAPの実行環境を設定するときに,トランザクション属性を指定していることが必要です。
- 宣言
-
- 【C#の場合】
public static void CommitChained( );
- 【Visual Basicの場合】
Public Shared Sub CommitChained( _ )
- 【J#の場合】
public static void CommitChained( );
- パラメタ
-
なし
- 戻り値
-
なし
- 例外
-
- Hitachi.OpenTP1.Server.TP1ServerException
-
次の情報が出力されます。
-
メッセージ
例外の内容が出力されます。
OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
"OpenTP1提供関数実行時にエラーが発生しました。"
それ以外の場合は,各エラーに対応したメッセージが出力されます。
-
クラス名
例外が発生したクラス名が出力されます。
-
メソッド名
例外が発生したメソッド名が出力されます。
-
エラーコード
発生原因に応じ,次のエラーコードが出力されます。
エラーコード
説明
DCTRNER_HAZARD
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあとも,このプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
DCTRNER_HAZARD
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあとも,このプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
DCTRNER_HAZARD_NO_BEGIN
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返される原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_HEURISTIC
CommitChainedメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
このエラーコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合にリターンします。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあとも,このプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
DCTRNER_HEURISTIC_NO_BEGIN
CommitChainedメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
このエラーコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合にリターンされます。
このエラーコードが返される原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_NO_BEGIN
コミット処理は正常に終了しましたが,新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_PROTO
CommitChainedメソッドを不正なコンテキスト(例えば,すでにトランザクション中にいない)で呼び出しています。
トランザクションモードに対する影響はありません。
RpcクラスのOpenメソッドを呼び出していません。
DCTRNER_ROLLBACK
現在のトランザクションは,コミットできないでロールバックしました。
このエラーコードが返ったあとも,このプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
-
●GetInfo
- 説明
-
GetInfoメソッドを呼び出したUAPが,現在トランザクションとして起動しているかどうかを返します。
GetInfoメソッドを呼び出すプロセスは,このクラスリファレンスの記述に従って正しく作成されたUAPを稼働させたものでなければなりません。
GetInfoメソッドを呼び出すサービスが正常終了するためには,UAPの実行環境を設定するときに,トランザクション属性を指定していることが前提です。
- 宣言
-
- 【C#の場合】
public static int GetInfo( );
- 【Visual Basicの場合】
Public Shared Function GetInfo( _ ) As Integer
- 【J#の場合】
public static int GetInfo( );
- パラメタ
-
なし
- 戻り値
-
-
1
GetInfoメソッドを呼び出したプロセスは,トランザクションとして起動しています。
-
0
GetInfoメソッドを呼び出したプロセスは,トランザクションとして起動していません。
-
- 例外
-
- Hitachi.OpenTP1.Server.TP1ServerException
-
次の情報が出力されます。
-
メッセージ
例外の内容が出力されます。
OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
"OpenTP1提供関数実行時にエラーが発生しました。"
それ以外の場合は,各エラーに対応したメッセージが出力されます。
-
クラス名
例外が発生したクラス名が出力されます。
-
メソッド名
例外が発生したメソッド名が出力されます。
-
エラーコード
発生原因に応じ,次のエラーコードが出力されます。
エラーコード
説明
DCTRNER_PROTO
RpcクラスのOpenメソッドを呼び出していません。
-
- 注意事項
-
このAPIはUAPトレースを取得していません。
●Rollback
- 説明
-
トランザクションをロールバックします。非連鎖モードでロールバックしたあとには,トランザクションは続けて開始しません。
Rollbackメソッドを呼び出すことで,トランザクションブランチ,トランザクションサービス,およびリソースマネジャにロールバックを知らせます。
Rollbackメソッドは,グローバルトランザクションのどのトランザクションブランチからでも呼び出せます。
ルートトランザクションブランチから呼び出した場合,Rollbackメソッドが正常終了したあとには,新しいトランザクションは開始しません。
ルートトランザクションブランチ以外から呼び出した場合は,そのトランザクションブランチをrollback_only状態にします。
この場合,ルートトランザクションブランチの同期点処理が完了するまで,Rollbackメソッドを呼び出したトランザクションブランチはトランザクションの範囲内です。
Rollbackメソッドを呼び出すプロセスは,このクラスリファレンスの記述に従って正しく作成されたUAPを稼働させたものでなければなりません。
Rollbackメソッドを呼び出すサービスが正常に終了するためには,UAPの実行環境を設定するときに,トランザクション属性を指定していることが前提です。
- 宣言
-
- 【C#の場合】
public static void Rollback( );
- 【Visual Basicの場合】
Public Shared Sub Rollback( _ )
- 【J#の場合】
public static void Rollback( );
- パラメタ
-
なし
- 戻り値
-
なし
- 例外
-
- Hitachi.OpenTP1.Server.TP1ServerException
-
次の情報が出力されます。
-
メッセージ
例外の内容が出力されます。
OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
"OpenTP1提供関数実行時にエラーが発生しました。"
それ以外の場合は,各エラーに対応したメッセージが出力されます。
-
クラス名
例外が発生したクラス名が出力されます。
-
メソッド名
例外が発生したメソッド名が出力されます。
-
エラーコード
発生原因に応じ,次のエラーコードが出力されます。
エラーコード
説明
DCTRNER_HAZARD
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあと,このプロセスはトランザクション下になく,グローバルトランザクションの範囲外です。
DCTRNER_HAZARD_NO_BEGIN
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返される原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_HEURISTIC
Rollbackメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
このエラーコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合に返します。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあと,このプロセスはトランザクション下になく,グローバルトランザクションの範囲外です。
DCTRNER_HEURISTIC_NO_BEGIN
RollbackChainedメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
このエラーコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合にリターンされます。
このエラーコードが返される原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_NO_BEGIN
ロールバック処理は正常終了しましたが,新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_PROTO
Rollbackメソッドを不正なコンテキスト(例えば,すでにトランザクション中にいない)で呼び出しています。
トランザクションモードに対する影響はありません。
RpcクラスのOpenメソッドを呼び出していません。
-
●RollbackChained
- 説明
-
トランザクションをロールバックします。RollbackChainedメソッドを呼び出したあとには,続けてトランザクションが開始します。
RollbackChainedメソッドを呼び出すことで,ルートトランザクションブランチから,トランザクションブランチ,トランザクションサービス,およびリソースマネジャにロールバックを知らせます。
RollbackChainedメソッドが正常に終了すると,メソッドを呼び出したプロセスはロールバックしてリターンします。
そのあとで新しいグローバルトランザクションが開始します。
メソッドを呼び出したプロセスはこのトランザクションの範囲内です。
ただし,このメソッドを呼び出したUAP以外のトランザクションモードに対しての指定を意味しません。
RollbackChainedメソッドを呼び出せるのは,ルートトランザクションブランチ(Beginメソッドを呼び出したUAP)からだけです。
それ以外のUAPから呼び出した場合は,例外が発生します。
RollbackChainedメソッドを呼び出すプロセスは,このクラスリファレンスの記述に従って正しく作成されたUAPを稼働させたものでなければなりません。
RollbackChainedメソッドは,同期点処理が完了したときに,正常終了,または例外応答のどちらかで返ります。
RollbackChainedメソッドを呼び出すサービスが正常終了するためには,UAPの実行環境を設定するときに,トランザクション属性を指定していることが前提です。
- 宣言
-
- 【C#の場合】
public static void RollbackChained( );
- 【Visual Basicの場合】
Public Shared Sub RollbackChained( _ )
- 【J#の場合】
public static void RollbackChained( );
- パラメタ
-
なし
- 戻り値
-
なし
- 例外
-
- Hitachi.OpenTP1.Server.TP1ServerException
-
次の情報が出力されます。
-
メッセージ
例外の内容が出力されます。
OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
"OpenTP1提供関数実行時にエラーが発生しました。"
それ以外の場合は,各エラーに対応したメッセージが出力されます。
-
クラス名
例外が発生したクラス名が出力されます。
-
メソッド名
例外が発生したメソッド名が出力されます。
-
エラーコード
発生原因に応じ,次のエラーコードが出力されます。
エラーコード
説明
DCTRNER_HAZARD
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあとも,このプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
DCTRNER_HAZARD_NO_BEGIN
グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果がわかりません。
このエラーコードが返される原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_HEURISTIC
RollbackChainedメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
このエラーコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合にリターンします。
このエラーコードが返る原因になったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このエラーコードが返ったあとも,このプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
DCTRNER_HEURISTIC_NO_BEGIN
RollbackChainedメソッドを呼び出したグローバルトランザクションは,ヒューリスティック決定のため,あるトランザクションブランチはコミットし,あるトランザクションブランチはロールバックしました。
このエラーコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合にリターンされます。
このエラーコードが返される原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルの内容を参照してください。新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_NO_BEGIN
ロールバック処理は正常に終了しましたが,新しいトランザクションは開始できませんでした。このエラーコードが返ったあと,このプロセスはトランザクション下にはありません。
DCTRNER_PROTO
RollbackChainedメソッドを不正なコンテキスト(例えば,すでにトランザクション中にいない)で呼び出しています。
トランザクションモードに対する影響はありません。
RpcクラスのOpenメソッドを呼び出していません。
-