この付録では、Event Notification Service Publisher (ENS Publisher) を有効にし、Messaging Server の Event Notification Service (ENS) を管理するために必要な事柄について説明します。
この付録には、次の節があります。
ENS および ENS API の詳細は、『Sun Java System Communications Services 6 2005Q4 Event Notification Service Guide』を参照してください。
Event Notification Service (ENS) は、基礎となる発行および購読サービスです。ENS は、Sun Java System アプリケーションが関係する特定のタイプのイベントの収集の中心点として使用するディスパッチャとして機能します。イベントは、リソースの 1 つまたは複数のプロパティーの値に変更されます。このようなタイプのイベントが発生する時期を知る必要があるアプリケーションを ENS に登録します。ENS は、イベントを順番に識別し、通知と購読を照合します。
ENS と iBiff (Messaging Server の ENS Publisher) は、Messaging Server に含まれています。デフォルトでは、ENS は有効になっていますが、iBIFF はロードされていません。「Messaging Server に ENS Publisher をロードする」を参照してください。
Messaging Server で通知を購読するには、Messaging Server ホストに libibiff ファイルをロードしてから Messaging Server を停止し、再起動します。
コマンド行から次の手順を実行します。この手順では、Messaging Server のインストールディレクトリの場所は msg_svr_base で、Messaging Server ユーザーは inetuser です。これらの変数の一般的な値は、前者は /opt/SUNWmsgsr、後者は inetuser です。
inetuser として、configutil ユーティリティーを実行して libibiff ファイルをロードします。
cd msg_svr_base ./configutil -o "local.store.notifyplugin" -v "msg_svr_base/lib/libibiff" |
root として Messaging Server をいったん停止してから再起動します。
cd msg_svr_base /sbin
./stop-msg
./start-msg
これで、ENS によって通知を受け取る準備ができました。詳細は、「Event Notification Service のサンプルプログラムを実行する」を参照してください。
Messaging Server には、通知の受信方法を学習するためのサンプルプログラムが含まれています。これらのサンプルプログラムは、msg_svr_base/examples ディレクトリにあります。
msg_svr_base/examples ディレクトリに変更します。
C コンパイラを使用して、Makefile.sample ファイルを使用する apub および asub の例をコンパイルします。msg_svr_base/examples ディレクトリを含むように、ライブラリ検索パスを設定します。
プログラムをコンパイルしたら、それらを次のように別々のウィンドウで実行することができます。
apub localhost 7997
asub localhost 7997
apub ウィンドウで入力するものはすべて、asub ウィンドウに表示されます。また、デフォルト設定を使用している場合は、すべての iBiff 通知が asub ウィンドウに表示されます。
iBiff が発行した通知を受け取るには、asub.c と同様のプログラムを記述します。
サンプルプログラムの詳細と ENS のプログラムを独自に記述する方法については、『Sun Java System Communications Services 6 2005Q4 Event Notification Service Guide』を参照してください。
msg_svr_base/lib ディレクトリを含むようにライブラリ検索パスを設定すると、その後はディレクトリサーバーを停止して再起動することはできなくなります。これを回避するには、ライブラリ検索パスからエントリを削除します。
ENS の管理は、サービスの起動と停止、および ENS の iBiff publisher の動作を制御するための設定パラメータの変更によって行います。
ENS サーバーを起動および停止するには、start-msg ens および stop-message ens コマンドを使用します。これらのコマンドは、root として実行する必要があります。
ENS を起動するには、次のコマンドを実行します。
msg_svr_base /sbin/start-msg ens
ENS を停止するには、次のコマンドを実行します。
msg_svr_base /sbin/stop-msg ens
ENS を起動するには、次のコマンドを実行します。
msg_svr_base /sbin/start-msg ens
ENS を停止するには、次のコマンドを実行します。
msg_svr_base /sbin/stop-msg ens
iBiff の動作は、いくつかの設定パラメータによって制御されます。これらのパラメータを設定するには、configutil ユーティリティープログラムを使用します。
表 B–1 iBiff 設定パラメータ
パラメータ |
説明 |
---|---|
通知とともに送信されるヘッダーの最大サイズをバイト単位で指定します。デフォルトは 0 バイトです。 |
|
local.store.notifyplugin.maxBodySize |
通知とともに送信される本文の最大サイズをバイト単位で指定します。デフォルトは 0 バイトです。 |
local.store.notifyplugin.eventType .enable |
指定のイベントタイプが通知を生成するかどうかを指定します。正当な値は 1 (有効にする) および 0 (無効にする)。デフォルト値は 1 です。つまり、local.store.notifyplugin.ReadMsg.enable を 0 に設定すると、ReadMsg 通知が無効になります。 |
local.store.notifyplugin.ensHost |
ENS サーバーのホスト名を指定します。デフォルトは 127.0.0.1 です。 |
local.store.notifyplugin.ensPort |
ENS サーバーの TCP ポートを指定します。デフォルトは 7997 です。 |
local.store.notifyplugin.ensEventKey |
ENS 通知用に使用するイベントキーを指定します。デフォルトは enp://127.0.0.1/store。イベントキーのホスト名部分は、ENS ホストの判別には使用されません。これは単に、ENS が使用する一意の識別子です。 このキーは、このキーに一致するイベントの通知を受けるために、加入者が登録するものです。 |