![]() |
![]() |
|
|
BEA Tuxedo システムで提供されるサブルーチン
BEA Tuxedo システムで提供されるサブルーチン tpsvrinit()、tpsvrdone()、tpsvrthrinit(3c)、および tpsvrthrdone(3c) は、トランザクションで使用される場合は特定の規則に従う必要があります。
注記 tpsvrthrinit(3c) と tpsvrthrdone(3c) は、マルチスレッド・アプリケーションだけで指定できます。tpsvrinit() と tpsvrdone() は、スレッド・アプリケーションでも非スレッド・アプリケーションでも指定できます。
BEA Tuxedo システム・サーバは、初期化時に tpsvrinit() または tpsvrthrinit(3c) を呼び出します。特に、tpsvrinit() または tpsvrthrinit(3c) は、呼び出し元プロセスがサーバになった後、サービス要求の処理を開始する前に呼び出されます。tpsvrinit() または tpsvrthrinit(3c) で非同期通信を実行した場合、関数が戻る前にすべての応答が取得されなければなりません。この処理が行われなかった場合、システムは保留中の応答があっても無視して、サーバを終了します。tpsvrinit() または tpsvrthrinit(3c) でトランザクションを定義した場合、関数が戻る前にすべての非同期応答を取得して、トランザクションを終了しなければなりません。この処理が行われなかった場合、システムは未処理の応答が残っていてもトランザクションをアボートし、それらの応答をすべて無視します。その場合、サーバは正常に終了します。
BEA Tuxedo システム・サーバ用ルーチンは、サービス要求の処理が完了した後、ルーチンを終了する前に tpsvrdone() または tpsvrthrdone(3c) を呼び出します。この時点で、サーバのサービス宣言は取り消されますが、サーバ自体はアプリケーションから分離していません。tpsvrdone() または tpsvrthrdone(3c) で通信を開始した場合、これらの関数は未処理の応答をすべて取得してから戻る必要があります。この処理が行われなかった場合、システムは保留中の応答があっても無視して、サーバを終了します。tpsvrdone() または tpsvrthrdone(3c) 内でトランザクションを開始した場合、トランザクションはすべての応答を取得してから終了しなければなりません。この処理が行われなかった場合、システムは応答が残っていてもトランザクションをアボートし、応答を無視します。この場合もサーバは終了します。
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|