|
|
ATMI および EVENT_MIB を使用したイベントのサブスクライブ、ポスト、サブスクライブの取り消し
BEA Tuxedo アプリケーション管理者は、クライアント・プロセスとサーバ・プロセスの代わりに、EVENT_MIB(5) の T_EVENT_COMMAND クラスへの呼び出しを行って、サブスクリプションを要求できます。プログラムで tpsubscribe(3c) 関数を呼び出して、イベントをサブスクライブすることもできます。
次の図は、クライアントとサーバがイベント・ブローカを使用して、イベントのサブスクライブ、ポスト、サブスクライブの取り消しを行うプロセスを示しています。
イベントのサブスクライブ
eventexpr およびフィルタを使用したイベント・カテゴリの識別 クライアントまたはサーバがイベントをサブスクライブするには、tpsubscribe(3c) を呼び出します。tpsubscribe() の引数は eventexpr (必須) だけです。eventexpr の値はワイルドカード文字列で、ユーザに通知する必要があるイベント名を識別します。ワイルドカード文字列については、『BEA Tuxedo C リファレンス』 の tpsubscribe(3c) リファレンス・ページを参照してください。 たとえば、UNIX システム・プラットフォーム上のユーザに、ネットワーキング・カテゴリに関するすべてのイベントを通知する必要があるとします。その場合、eventexpr に次の値を指定します。 ピリオド (.) の前のバックスラッシュは、ピリオドがリテラルであることを示します。ピリオドの前にバックスラッシュがない場合は、ピリオドは改行文字以外の任意の文字として解釈されます。\.SysNetwork.* の最後にある .* は、改行文字以外の 0 個以上の任意の文字として解釈されます。 また、クライアントまたはサーバがイベント・データをフィルタするには、tpsubscribe() の呼び出し時に filter 引数 (省略可能) を指定します。filter の値は、ブール値のフィルタ・ルールを含む文字列です。イベント・ブローカがイベントをポストする場合、このルールが正常に評価されることが必要です。 たとえば、ユーザに重要度レベルが ERROR であるシステム・イベントだけを通知する必要があるとします。その場合、filter に次の値を指定します。 イベント名がポストされ、それが eventexpr に合致すると、イベント・ブローカは eventexpr に対応付けられているフィルタ・ルールでポストされたデータをテストします。データがフィルタ・ルールに違反していない場合、またはイベントに対するフィルタ・ルールが存在しない場合、サブスクライバはイベント通知およびイベントと共にポストされたすべてのデータを受け取ります。 イベント・ブローカへのアクセス アプリケーションからイベント・ブローカにアクセスするには、ATMI または EVENT_MIB(5) を使用します。次の表は、この 2 つの方法について説明しています。
\.SysNetwork.*
"TA_EVENT_SEVERITY=’ERROR’"
注記 tppost(3c)、tpsubscribe(3c)、および tpunsubscribe(3c) は C 言語の関数です。これらの関数に相当するルーチン (TPPOST(3cbl)、TPSUBSCRIBE(3cbl)、および TPUNSUBSCRIBE(3cbl)) が COBOL プログラマ用に提供されています。詳細については、『BEA Tuxedo C リファレンス』 および 『BEA Tuxedo COBOL リファレンス』 を参照してください。
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|