|
|
イベントのサブスクライブ
tpsubscribe(3c) 関数を使用すると、BEA Tuxedo システムのクライアントまたはサーバがイベントをサブスクライブできるようになります。
サブスクライバは、任意通知型通知メッセージ、サービス呼び出し、高い信頼性のキュー、またはアプリケーション管理者が設定する別の通知方法によって、通知を受け取ります。別の通知方法の設定については、『BEA Tuxedo アプリケーションの設定』を参照してください。
tpsubscribe() 関数の呼び出しには、次の文法を使用します。
long handle
tpsubscribe (char *eventexpr, char *filter, TPEVCTL *ctl, long flags)
次の表は、tpsubscribe() 関数の引数を示しています。
tpsubscribe( ) 関数の引数
システム定義のイベントとアプリケーション定義のイベントは、tpsubscribe() 関数を使用してサブスクライブできます。 サブスクリプション、および MIB を更新するために BEA Tuxedo システムのサーバ・プロセスで実行されるサービス・ルーチンは、信頼されたコードと見なされます。 任意通知型メッセージを使用した通知 サブスクライバが BEA Tuxedo システムのクライアント・プロセスであり、ctl に NULL が設定されている場合、クライアントがサブスクライブしているイベントがポストされると、イベント・ブローカは次のようにサブスクライバに任意通知型メッセージを送ります。eventexpr に対して正常に評価されたイベント名がポストされると、イベント・ブローカは対応付けられたフィルタ規則でポストされたデータを確認します。データがフィルタ規則で正しく評価された場合 (またはイベントにフィルタ規則がない場合)、サブスクライバはイベントと共にポストされたデータと任意通知型メッセージを受信します。 任意通知型メッセージを受け取るには、クライアントは tpsetunsol() 関数を使用して、任意通知型メッセージ処理ルーチンを登録しておく必要があります。 クライアントが任意通知型メッセージによってイベント通知を受け取った場合、終了する前にイベント・ブローカのアクティブなサブスクリプションのリストからそのサブスクリプションを削除する必要があります。サブスクリプションの削除には tpunsubscribe() 関数を使用します。 サービス呼び出しまたは信頼できるキューを使用した通知 サービス呼び出しを使用したイベント通知では、アプリケーションの特定の条件に対して自動的に応答するようにプログラミングできます。高い信頼性のキューを使用したイベント通知では、イベント・データが損失しないことが保証されます。また、サブスクライバがいつでもイベント・データを取り出せるという柔軟性があります。 サブスクライバ (クライアント・プロセスまたはサーバ・プロセス) がイベント通知をサービス・ルーチンまたは安定記憶領域のキューに送信する場合、tpsubscribe() の ctl パラメータが有効な TPEVCTL 構造体を指していることが必要です。 TPEVCTL 構造体には、次の情報が格納されています。 次の表は、TPEVCTL 型バッファのデータ構造を示しています。 TPEVCTL 型バッファの形式
long flags;
char name1[32];
char name2[32];
TPQCTL qctl;
フィールド |
説明 |
---|---|
flags |
フラグのオプション。フラグの詳細については、『BEA Tuxedo C リファレンス』の tpsubscribe(3c) を参照してください。 |
name1 |
32 文字以下の文字列。 |
name2 |
32 文字以下の文字列。 |
qctl |
TPQCTL 構造体。詳細については、『BEA Tuxedo C リファレンス』の tpsubscribe(3c) を参照してください。 |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|