![]() |
![]() |
|
|
任意通知型メッセージ・ハンドラの定義
任意通知型メッセージ・ハンドラを定義するには、次の文法を使用して TPSETUNSOL(3cbl) ルーチンを呼び出します。
01 CURR-ROUTINE PIC S9(9) COMP-5.
01 PREV-ROUTINE PIC S9(9) COMP-5.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPSETUNSOL" USING CURR-ROUTINE PREV-ROUTINE TPSTATUS-REC.
TPSETUNSOL を使用すると、任意通知型メッセージが BEA Tuxedo システム・ライブラリによって受信されたときに呼び出されるルーチンをクライアントが識別できるようになります。TPSETUNSOL を初めて呼び出す前にクライアントに代わって BEA Tuxedo システム・ライブラリが受信した任意通知型メッセージはログに記録されるだけで無視されます。システムが通知や検出に使用する処理方法は、アプリケーションのデフォルト設定によって決まります。このデフォルト設定は、クライアントごとに変更できます。詳細については、『BEA Tuxedo COBOL リファレンス』の TPINITIALIZE(3cbl) を参照してください。
CURR-ROUTINE パラメータは、任意通知型メッセージを処理する 16 種類の定義済みルーチンを識別します。これらのルーチンには、C ルーチンとしては tm_displatch1 〜 _tm_dispatch8 の 8 種類、COBOL ルーチンとしては TMDISPATCH9 〜 TMDISPATCH16 の 8 種類があります。また、CURR-ROUTINE に 0 を設定した場合、BEA Tuxedo システム・ライブラリがクライアントに代わって受信した任意通知型メッセージはログに記録されるだけで無視されます。C ルーチンは、TPSETUNSOL(3cbl) のパラメータ定義に準拠している必要があります。COBOL ルーチンを使用する場合は、TPGETUNSOL を呼び出してデータを受信する必要があります。
次のコード例は、COBOL プログラムでの任意通知型ルーチンの設定方法を示しています。
任意通知型ルーチンの設定
*
* TPSETUNSOL を呼び出します。 - COBOL 任意通知型メッセージ・ハンドラを設定します。
* TMDISPATCH9 ルーチンが呼び出されます。
*
MOVE 9 to CURR-ROUTINE.
CALL "TPSETUNSOL" USING
CURR-ROUTINE
PREV-ROUTINE
TPSTATUS-REC.
IF NOT TPOK
Routine TMDISPATCH9 will receive unsolicited messages
ELSE
Process error condition
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|