Sun Java System Messaging Server 6 2005Q4 管理ガイド

付録  B Messaging Server の Event Notification Service を管理する

この付録では、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』を参照してください。

Messaging Server に ENS Publisher をロードする

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 を停止し、再起動します。

ProcedureMessaging Server に ENS Publisher をロードするには

コマンド行から次の手順を実行します。この手順では、Messaging Server のインストールディレクトリの場所は msg_svr_base で、Messaging Server ユーザーは inetuser です。これらの変数の一般的な値は、前者は /opt/SUNWmsgsr、後者は inetuser です。

手順
  1. inetuser として、configutil ユーティリティーを実行して libibiff ファイルをロードします。


    cd msg_svr_base
    ./configutil -o "local.store.notifyplugin" -v "msg_svr_base/lib/libibiff"
    
  2. root として Messaging Server をいったん停止してから再起動します。

    cd msg_svr_base /sbin

    ./stop-msg

    ./start-msg

  3. これで、ENS によって通知を受け取る準備ができました。詳細は、「Event Notification Service のサンプルプログラムを実行する」を参照してください。

Event Notification Service のサンプルプログラムを実行する

Messaging Server には、通知の受信方法を学習するためのサンプルプログラムが含まれています。これらのサンプルプログラムは、msg_svr_base/examples ディレクトリにあります。

ProcedureENS のサンプルプログラムを実行するには

手順
  1. msg_svr_base/examples ディレクトリに変更します。

  2. C コンパイラを使用して、Makefile.sample ファイルを使用する apub および asub の例をコンパイルします。msg_svr_base/examples ディレクトリを含むように、ライブラリ検索パスを設定します。

  3. プログラムをコンパイルしたら、それらを次のように別々のウィンドウで実行することができます。

    apub localhost 7997

    asub localhost 7997

    apub ウィンドウで入力するものはすべて、asub ウィンドウに表示されます。また、デフォルト設定を使用している場合は、すべての iBiff 通知が asub ウィンドウに表示されます。

  4. iBiff が発行した通知を受け取るには、asub.c と同様のプログラムを記述します。

    サンプルプログラムの詳細と ENS のプログラムを独自に記述する方法については、『Sun Java System Communications Services 6 2005Q4 Event Notification Service Guide』を参照してください。


    注 –

    msg_svr_base/lib ディレクトリを含むようにライブラリ検索パスを設定すると、その後はディレクトリサーバーを停止して再起動することはできなくなります。これを回避するには、ライブラリ検索パスからエントリを削除します。


Event Notification Service を管理する

ENS の管理は、サービスの起動と停止、および ENS の iBiff publisher の動作を制御するための設定パラメータの変更によって行います。

ENS を起動および停止する

ENS サーバーを起動および停止するには、start-msg ens および stop-message ens コマンドを使用します。これらのコマンドは、root として実行する必要があります。

ProcedureENS を起動および停止するには

手順

    ENS を起動するには、次のコマンドを実行します。

    msg_svr_base /sbin/start-msg ens

    • ENS を停止するには、次のコマンドを実行します。

      msg_svr_base /sbin/stop-msg ens

Event Notification Service 設定パラメータ

iBiff の動作は、いくつかの設定パラメータによって制御されます。これらのパラメータを設定するには、configutil ユーティリティープログラムを使用します。

表 B–1 iBiff 設定パラメータ

パラメータ 

説明 

local.store.notifyplugin.maxHeaderSize

通知とともに送信されるヘッダーの最大サイズをバイト単位で指定します。デフォルトは 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 が使用する一意の識別子です。

このキーは、このキーに一致するイベントの通知を受けるために、加入者が登録するものです。