BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedo ホーム   |   BEA Tuxedo アプリケーション実行時の管理   |   先頭へ   |   前へ   |   次へ   |   目次

 


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.*

ピリオド (.) の前のバックスラッシュは、ピリオドがリテラルであることを示します。ピリオドの前にバックスラッシュがない場合は、ピリオドは改行文字以外の任意の文字として解釈されます。\.SysNetwork.* の最後にある .* は、改行文字以外の 0 個以上の任意の文字として解釈されます。

また、クライアントまたはサーバがイベント・データをフィルタするには、tpsubscribe() の呼び出し時に filter 引数 (省略可能) を指定します。filter の値は、ブール値のフィルタ・ルールを含む文字列です。イベント・ブローカがイベントをポストする場合、このルールが正常に評価されることが必要です。

たとえば、ユーザに重要度レベルが ERROR であるシステム・イベントだけを通知する必要があるとします。その場合、filter に次の値を指定します。

"TA_EVENT_SEVERITY=’ERROR’"

イベント名がポストされ、それが eventexpr に合致すると、イベント・ブローカは eventexpr に対応付けられているフィルタ・ルールでポストされたデータをテストします。データがフィルタ・ルールに違反していない場合、またはイベントに対するフィルタ・ルールが存在しない場合、サブスクライバはイベント通知およびイベントと共にポストされたすべてのデータを受け取ります。

イベント・ブローカへのアクセス

アプリケーションからイベント・ブローカにアクセスするには、ATMI または EVENT_MIB(5) を使用します。次の表は、この 2 つの方法について説明しています。

方法

関数

目的

ATMI

tppost(3c)

イベント・ブローカに通知を行うか、またはイベントとそれに伴うデータをポストします。イベント名は eventname 引数と data 引数で指定され、NULL 以外の場合はデータを指します。ポストされたイベントとそのデータは、BEA Tuxedo のイベント・ブローカによって、eventname に対して正常に評価されるサブスクリプション、および data に対して正常に評価されるフィルタ・ルール (省略可能) が設定されたすべてのサブスクライバにディスパッチされます。

tpsubscribe(3c)

eventexpr で指定されたイベントをサブスクライブします。サブスクリプションは BEA Tuxedo のイベント・ブローカによって保持され、tppost() を介してイベントがポストされたときにサブスクライバに通知するために使用されます。各サブスクリプションには、クライアントへの通知、サービスの呼び出し、安定記憶域のキューへの登録、コマンドの実行、ユーザ・ログへの記録のいずれかの方法が指定されています。通知方法は、サブスクライバのプロセス・タイプ (つまり、プロセスがクライアントであるか、サーバであるか)、および tpsubscribe() に渡される引数によって決定されます。

tpunsubscribe(3c)

BEA Tuxedo のイベント・ブローカのアクティブ・サブスクリプションのリストから、イベント・サブスクリプションを削除します。subscription は、tpsubscribe() で返されるイベント・サブスクリプション・ハンドルです。subscription をワイルドカード値の -1 に設定すると、呼び出し元プロセスが以前に行ったすべての非永続的なサブスクリプションが tpunsubscribe によって取り消されます。非永続的なサブスクリプションとは、tpsubscribe()ctl->flags パラメータに TPEVPERSIST ビットが設定されずに行われたサブスクリプションです。持続タイプのサブスクリプションは、tpsubscribe() から返されたハンドルを使用することによってのみ削除できます。

EVENT_MIB(5)

N/A

EVENT_MIB は、サブスクリプション情報とフィルタ・ルールを格納する管理情報ベース (MIB: Management Information Base) です。EVENT_MIB を使用しても、BEA Tuxedo のイベント・ブローカに新しいイベントをアプリケーションで定義することはできません。ただし、イベント・ブローカをカスタマイズして、イベントをトラッキングし、アプリケーションに要求されるイベントの発生をサブスクライバに通知することができます。

EVENT_MIB を使用して、イベントのサブスクライブまたはサブスクリプションの変更や取り消しを行うことができます。


 

注記 tppost(3c)tpsubscribe(3c)、および tpunsubscribe(3c) は C 言語の関数です。これらの関数に相当するルーチン (TPPOST(3cbl)TPSUBSCRIBE(3cbl)、および TPUNSUBSCRIBE(3cbl)) が COBOL プログラマ用に提供されています。詳細については、『BEA Tuxedo C リファレンス』 および 『BEA Tuxedo COBOL リファレンス』 を参照してください。

 

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