BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo COBOL リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


TPUNSUBSCRIBE(3cbl)

名前

TPUNSUBSCRIBE() - イベントのサブスクリプションの削除

形式

01 TPEVTDEF-REC.
COPY TPEVTDEF.
01
TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPUNSUBSCRIBE" USING
TPEVTDEF-REC TPSTATUS-REC.

機能説明

呼び出し元は TPUNSUBSCRIBE() を使用して、BEA Tuxedo のイベント・ブローカのアクティブなサブスクリプションのリストから、イベントのサブスクリプションまたはイベント・サブスクリプションのセットを削除します。 TPEVTDEF-RECSUBSCRIPTION-HANDLE は、TPSUBSCRIBE() から返されたイベントのサブスクリプション・ハンドルです。 SUBSCRIPTION-HANDLE をワイルドカード値 -1 に設定すると、呼び出し元プロセスが以前に行った非永続的サブスクリプションをすべて削除するよう TPUNSUBSCRIBE() に指示されます。 非持続タイプのサブスクリプションとは、TPSUBSCRIBE() を呼び出す際に TPEVNOPERSIST をセットした状態で行ったサブスクリプションを指します。持続タイプのサブスクリプションは、TPSUBSCRIBE() から返されたハンドルを使用することによってのみ削除できます。

"-1" ハンドルでは、呼び出し元の直前のインスタンスによってなされたサブスクリプションではなく、この機能を呼び出しているプロセスによってなされたサブスクリプションだけが削除される点に注意する必要があります (たとえば、いったんダウンして再起動したサーバは、最初のサーバによってなされたサブスクリプションをワイルドカードを利用して削除することはできません)。

次に、TPEVTDEF-REC の有効な設定の一覧を示します。

TPNOBLOCK

ブロッキング条件が存在する場合は、サブスクリプションは削除されません。 このような条件が発生すると、呼び出しは失敗し、TP-STATUS は [TPEBLOCK] に設定されます。TPNOBLOCK または TPBLOCK が設定されていなければなりません。

TPBLOCK

TPBLOCK がセットされ、ブロッキング条件が存在する場合は、呼び出し元はブロッキング条件が消失するか、またはタイムアウト (トランザクション・タイムアウト、またはブロッキング・タイムアウト) が発生するまでブロックします。TPNOBLOCK または TPBLOCK が設定されていなければなりません。

TPNOTIME

この設定は、呼び出し元が無制限にブロックでき、ブロッキング・タイムアウトの影響を受けないようにすることを指定します。 トランザクション・タイムアウトは引き続き発生する可能性があります。TPNOTIME または TPTIME が設定されていなければなりません。

TPTIME

このフラグは、ブロッキング条件が存在し、ブロッキング時間に達すると、呼び出し元がブロッキング・タイムアウトを受け取ることを示します。TPNOTIME または TPTIME が設定されていなければなりません。

TPSIGRSTRT

ルーチン内部のシステム・コールがシグナルによって中断された場合、中断されたシステム・コールは再発行されます。 TPNOSIGRSTRT または TPSIGRSTRT のいずれかを設定しなければなりません。

TPNOSIGRSTRT

関数内部のシステム・コールが信号によって中断されると、そのシステム・コールは再度実行されることはなく、呼び出しは異常終了し、TP-STATUSは [TPGOTSIG] にセットされます。 TPNOSIGRSTRT または TPSIGRSTRT のいずれかを設定しなければなりません。

戻り値

TPUNSUBSCRIBE() は正常終了時には、TP-STATUSに [TPOK] を設定します。 また、TPUNSUBSCRIBE() は、TPEVTDEF-RECEVENT-COUNT に、イベント・ブローカのアクティブなサブスクリプションのリストから削除したサブスクリプションの数を設定します (値は 0 以上)。 EVENT-COUNT に 1 より大きい値がセットされるのは、ワイルドカードの "-1" というハンドルを使用した場合に限られます。 また、 EVENT-COUNT には、TPUNSUBSCRIBE() が異常終了した場合でも 0 より大きい値が設定されることがあります。つまり、ワイルドカード・ハンドルを使用した場合、イベント・ブローカがいくつかのサブスクリプションを正しく削除した後でエラーが発生した可能性があります。

エラー

次の条件が発生すると、TPUNSUBSCRIBE() は異常終了し、TP-STATUS に次のいずれかの値を設定します。 (特に記述した場合を除いては、エラーが呼び出し元のトランザクションに影響を及ぼすことはありません)。

[TPEINVAL]

無効な引数が渡されました (SUBSCRIPTION-HANDLE が無効なサブスクリプション・ハンドルである場合など)。

[TPENOENT]

BEA Tuxedo イベント・ブローカにアクセスできません。

[TPETIME]

タイムアウトが発生しました。 呼び出し元がトランザクション・モードの場合は、トランザクション・タイムアウトが発生し、トランザクションはアボートされます。トランザクション・モードでない場合、ブロッキング・タイムアウトが発生し、TPBLOCKTPTIME の両方が指定されていました。 トランザクション・タイムアウトが発生すると、トランザクションがアボートされない限り、以降の作業はいずれも正しく実行されず、[TPETIME] が返されます。

[TPEBLOCK]

ブロッキング条件が存在し、TPNOBLOCK が指定されていました。

[TPGOTSIG]

シグナルが受信され、TPNOSIGRSTRT がセットされていました。

[TPEPROTO]

TPUNSUBSCRIBE() の呼び出し方法が不適切です。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容はログ・ファイルに書き込まれます。

[TPEOS]

オペレーティング・システムのエラーが発生しました。

関連項目

TPPOST(3cbl)TPSUBSCRIBE(3cbl)EVENTS(5)EVENT_MIB(5)TMSYSEVT(5)TMUSREVT(5)

 

先頭へ戻る 前のトピックへ 次のトピックへ