BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedo ホーム   |   COBOL を使用した BEA Tuxedo アプリケーションのプログラミング   |   先頭へ   |   前へ   |   次へ   |   目次

 


イベントのサブスクライブ

TPSUBSCRIBE(3cbl) ルーチンを使用すると、BEA Tuxedo システムのクライアントまたはサーバがイベントをサブスクライブできるようになります。

サブスクライバは、任意通知型通知メッセージ、サービス呼び出し、高い信頼性のキュー、またはアプリケーション管理者が設定する別の通知方法によって、通知を受け取ります。別の通知方法の設定については、『BEA Tuxedo アプリケーションの設定』を参照してください。

TPSUBSCRIBE ルーチンの呼び出しには、次の文法を使用します。

01  TPEVTDEF-REC.
COPY TPEVTDEF.
01  TPQUEDEF-REC.
COPY TPQUEDEF.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPSUBSCRIBE" USING TPEVTDEF-REC TPQUEDEF-REC TPSTATUS-REC

TPEVTDEF-REC データ構造体の文法は、次のとおりです。

05 TPBLOCK-FLAG     PIC S9(9) COMP-5.
88 TPBLOCK VALUE 0.
88 TPNOBLOCK VALUE 1.
05 TPTRAN-FLAG PIC S9(9) COMP-5.
88 TPTRAN VALUE 0.
88 TPNOTRAN VALUE 1.
05 TPREPLY-FLAG PIC S9(9) COMP-5.
88 TPREPLY VALUE 0.
88 TPNOREPLY VALUE 1.
05 TPTIME-FLAG PIC S9(9) COMP-5.
88 TPTIME VALUE 0.
88 TPNOTIME VALUE 1.
05 TPSIGRSTRT-FLAG PIC S9(9) COMP-5.
88 TPNOSIGRSTRT VALUE 0.
88 TPSIGRSTRT VALUE 1.
05 TPEV-METHOD-FLAG PIC S9(9) COMP-5.
88 TPEVNOTIFY VALUE 0.
88 TPEVSERVICE VALUE 1.
88 TPEVQUEUE VALUE 2.
05 TPEV-PERSIST-FLAG PIC S9(9) COMP-5.
88 TPEVNOPERSIST VALUE 0.
88 TPEVPERSIST VALUE 1.
05 TPEV-TRAN-FLAG PIC S9(9) COMP-5.
88 TPEVNOTRAN VALUE 0.
88 TPEVTRAN VALUE 1.
*
05 EVENT-COUNT PIC S9(9) COMP-5.
05 SUBSCRIPTION-HANDLE PIC S9(9) COMP-5.
05 NAME-1 PIC X(31).
05 NAME-2 PIC X(31).
05 EVENT-NAME PIC X(31).
05 EVENT-EXPR PIC X(255).
05 EVENT-FILTER PIC X(255).

次の表は、TPEVTDEF-REC データ構造体のメンバを示しています。

メンバ

説明

EVENT-COUNT

イベント・カウント。

SUBSCRIPTION-HANDLE

サブスクリプション・ハンドル。

NAME-1NAME-2

キューに登録された空間の名前。サブスクライバが TPEVQUEUE を設定した場合、イベント通知は NAME-1 で指定されるキュー・スペースと、NAME-2 で指定されるキューに登録されます。

EVENT-NAME

イベント名。

EVENT-EXPR

サブスクライブするイベント。正規表現を含み、NULL 文字で終了する最大 255 文字の文字列を指定します。正規表現は、tpsubscribe(3c) で指定された形式です (『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』を参照)。たとえば、次のように eventexpr を設定します。

EVENT-FILTER

ブール型のフィルタ規則を含む文字列。イベント・ブローカがイベントをポストする前に、この規則を評価する必要があります。ポストするイベントを受け取ると、イベント・ブローカはそのイベントのデータにフィルタ規則 (定義されている場合) を適用します。データが正しく評価された場合、イベント・ブローカは指定された通知方法を呼び出します。正しく評価されなかった場合、イベント・ブローカは指定された通知方法を無視します。呼び出し元は、異なるフィルタ・ルールを利用して同じイベントを何度でもサブスクライブすることができます。

イベント・フィルタ機能を使用すると、サブスクライバは通知されるイベントを限定できます。たとえば、100 万円を超える額の引き出しがあった場合に、イベントがポストされるとします。その場合、サブスクライバが 100 万円より高い額 (たとえば 500 万円) の通知だけを必要とすることがあります。または、特定の顧客による高額の引き出しの通知だけを必要とする場合があります。

フィルタ・ルールは、フィルタ・ルールの適用対象となる型付きレコードによって異なります。フィルタ規則の詳細については、『BEA Tuxedo COBOL リファレンス』の TPSUBSCRIBE(3cbl) リファレンス・ページを参照してください。

SETTINGS
(TPBLOCK-FLAG
, TPTRAN-FLAG, など)

サーバの特性を制御するその他の設定。設定値の詳細については、『BEA Tuxedo COBOL リファレンス』を参照してください。

TPQUEDEF-REC データ構造体の詳細については、『BEA Tuxedo/Q コンポーネント』 を参照してください。

システム定義のイベントとアプリケーション定義のイベントは、TPSUBSCRIBE ルーチンを使用してサブスクライブできます。

サブスクリプション、および MIB を更新するために BEA Tuxedo システムのサーバ・プロセスで実行されるサービス・ルーチンは、信頼されたコードと見なされます。

このルーチンの詳細については、『BEA Tuxedo COBOL リファレンス』 の TPSUBSCRIBE(3cbl) を参照してください。

 

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