Sun Java System Messaging Server 6.3 管理ガイド

22.2 JMQ 通知サービスの設定

ここでは、JMQ 通知プラグインが、Message Queue サービス全体のコンテキストにどのように適合するかについて簡単に説明します。次に、JMQ 通知プラグインを設定するための詳細な手順を示します。

22.2.1 JMQ 通知サービスのための計画

JMQ 通知プラグインは、Message Queue サービスの一部にすぎません。メッセージングサービスにも、メッセージを取得するクライアントや、Message Queue インフラストラクチャー (ブローカ、管理コンポーネント、その他) が含まれています。

次の手順は、Messaging Server をサポートする Message Queue サービスを作成するために実行する必要のあるタスクの概要を示しています。

  1. 通知メッセージサービスを設計します。

    Messaging Server のインストールに必要な通知メッセージを定義します。メッセージサービス開発ライフサイクルの計画および設計フェーズは、この章の範囲外です。ただし、JMQ 通知プラグインを設定する前に、設計に関する次の質問に答えるようにしてください。

    • どのメッセージイベントで通知を生成する必要がありますか。使用可能な通知メッセージのリストについては、「22.3.1 通知メッセージ」を参照してください。

    • キューまたはトピック、あるいはその両方にメッセージを生成しますか。

    • Message Queue サービスだけでなく、独自のイベント通知サービスを使用しますか。

    これらの質問に対する答えは、1 つの通知プラグインまたは複数のプラグインのどちらを設定するかを決定したり、各プラグインの設定方法を決定したりする場合に役立ちます。

  2. Message Queue 製品をインストール、設定、および配備します。

    Message Queue のインストールの詳細は、『Sun Java System Message Queue Installation Guide』を参照してください。

    Message Queue の設定と配備の詳細は、『Sun Java System Message Queue 管理ガイド』を参照してください。

  3. JMQ 通知メッセージを取得する 1 つ以上の Message Queue クライアントを記述します。

    これらのクライアントは、Message Queue クライアント API の要件に準拠している必要があります。C で記述されたクライアントソースコードの簡単な例が次のパスに含まれています。


    /opt/SUNWmsgsr/examples/jmqsdk/

    ソースファイル名は jmqclient.c です。

    このクライアントソースコードは、libjmqnotify ライブラリ内のパラメータで定義された JMQ 通知メッセージからメッセージを受信します。次に、そのメッセージ出力を stdout に送信します。

    Message Queue クライアントを C または Java で記述する方法については、『Sun Java System Message Queue Developer's Guide for C Clients』または『Sun Java System Message Queue Developer's Guide for Java Clients』を参照してください。

  4. 通知メッセージを生成する JMQ 通知プラグインを設定し、有効にします。

    この章の残りの部分では、通知プラグインを設定する方法について説明します。

  5. 実行時 Message Queue クライアントを設定し、起動します。

    実行時 Message Queue クライアントの配備の詳細は、『Sun Java System Message Queue 管理ガイド』を参照してください。

ProcedureJMQ 通知プラグインを設定する

この手順では、まず、通知を生成するメッセージイベントを設定します。次に、Message Queue に必要な情報を指定します。最後に (手順 9 で)、プラグインライブラリの名前のあとにパラメータを指定することによって、プラグイン名を設定します。


'/opt/SUNWmsgsr/lib/libjmqnotify$plug-in_name'

プラグイン名を指定しない場合は、デフォルトで、jmqnotify が使用されます。

始める前に

次の製品をインストール、設定、および配備するようにしてください。


注 –

次の手順で設定する configutil パラメータのほとんどはオプションです。各デフォルト値のリストについては、表 22–2 を参照してください。


  1. 通知メッセージのパラメータを設定します。

    プラグインに含める通知メッセージの種類ごとに、configutil ユーティリティーで local.store.notifyplugin コマンドを使用します。

    たとえば、新しいメッセージの通知を有効にするには、次のコマンドを入力します。


    configutil -o local.store.notifyplugin.jmqnotify.NewMsg.enable -v 1

    ここで、jmqnotify はプラグインの名前であり、

    -v 1 はこのメッセージの通知を有効にします。値を 0 にすると、このメッセージの通知を無効にします。

    すべての JMQ 通知メッセージのリストについては、「22.3.1 通知メッセージ」を参照してください。

    JMQ 通知メッセージを有効にする configutil パラメータの定義については、『Sun Java System Messaging Server Administration Reference』の第 3 章「Messaging Server Configuration」を参照してください。

    いくつかの通知メッセージは、追加機能を含むメッセージを有効にするために、複数の configutil パラメータを使用します。たとえば、一部のメッセージは、通知テキストでメッセージヘッダーを伝えることができます。これらのメッセージを設定する方法については、「newflags および oldflags プロパティーの構文」を参照してください。


    注 –

    設定するプラグインごとに、別々にパラメータを設定する必要があります。

    そのため、jmq1jmq2 という名前の 2 つのプラグインを設定し、この両方のプラグインで新しいメッセージの通知を有効にする場合は、local.store.notifyplugin コマンドを次のように 2 回実行してください。


    configutil -o local.store.notifyplugin.jmq1.NewMsg.enable -v 1

    configutil -o local.store.notifyplugin.jmq2.NewMsg.enable -v 1

  2. Message Queue 送信先 (ブローカ) が動作しているホストを指定します。

    たとえば、次のコマンドを入力します。


    configutil -o local.store.notifyplugin.jmqnotify.jmqHost -v "127.0.0.1"

    ここで、jmqnotify はプラグインの名前であり、

    "127.0.0.1" は Message Queue ブローカのホストマシンの IP アドレスです。

  3. Message Queue ブローカのポートを指定します。

    たとえば、次のコマンドを入力します。


    configutil -o local.store.notifyplugin.jmqnotify.jmqPort -v "7676"

    ここで、jmqnotify はプラグインの名前であり、

    "7676" は Message Queue ブローカのポートです。

  4. サービスへのメッセージの生成を許可された Message Queue ユーザーのユーザー ID とパスワードを指定します。

    たとえば、次のコマンドを入力します。


    configutil -o local.store.notifyplugin.jmqnotify.jmqUser -v "guest"

    configutil -o local.store.notifyplugin.jmqnotify.jmqPwd -v "%$#a62t&"

    ここで、jmqnotify はプラグインの名前であり、

    "guest""%$#a62t&" はそれぞれ、Message Queue ユーザーのユーザー ID とパスワードです。

  5. 送信先の種類 (トピックまたはキュー) と、メッセージの送信先の名前を設定します。

    次の手順に従います。

    1. 送信先がトピックまたはキューのどちらであるかを指定します。

      たとえば、次のコマンドを入力します。


      configutil -o local.store.notifyplugin.jmqnotify.DestinationType -v "queue"

      ここで、jmqnotify はプラグインの名前であり、

      "queue" は送信先がキューであることを指定します。このパラメータに使用できる値は、"queue""topic" です。

    2. 送信先の名前を指定します。

      たとえば、次のいずれかのコマンドを入力します。


      configutil -o local.store.notifyplugin.jmqnotify.jmqQueue -v "JES-MS"

      または


      configutil -o local.store.notifyplugin.jmqnotify.jmqTopic -v "JES-MS"

      ここで、jmqnotify はプラグインの名前であり、

      jmqQueue または jmqTopic が送信先の種類を識別します。jmqQueue パラメータと jmqTopic パラメータは類語であり、相互に排他的です。1 つのプラグインでは、これらのパラメータの 1 つだけを使用できます。

      "JES-MS" は、メッセージの送信先のキューまたはトピックの名前の例です。

  6. メッセージの優先順位を指定します。

    たとえば、次のコマンドを入力します。


    configutil -o local.store.notifyplugin.jmqnotify.Priority -v 3

    ここで、jmqnotify はプラグインの名前であり、

    -v 3 はこのプラグインで生成されたメッセージに割り当てられる Message Queue の優先順位です。

    Priority のデフォルト値は 4 です。

  7. メッセージが Message Queue ブローカによって保持される時間 (ミリ秒単位) を指定します。

    たとえば、次のコマンドを入力します。


    configutil -o local.store.notifyplugin.jmqnotify.ttl -v 100

    ここで、jmqnotify はプラグインの名前であり、

    -v 100 は、メッセージが配信または破棄される前に Message Queue サービスによって 100 ミリ秒間保持されることを指定します。0 の値は、メッセージが永続的に保持され、タイムアウトしないことを示します。

  8. メッセージの持続性を指定します。

    たとえば、次のコマンドを入力します。


    configutil -o local.store.notifyplugin.jmqnotify.Persistent -v 1

    ここで、jmqnotify はプラグインの名前であり、

    -v 1 は Message Queue サービスで持続メッセージが使用されることを指定します。使用できる値は、1 (持続) と 0 (非持続) です。

  9. プラグイン名を設定します。

    デフォルト名を持つ 1 つのプラグインを設定するには、プラグインライブラリの完全修飾名か、またはライブラリの名前とそのプラグインパラメータのどちらかを入力できます。


    configutil -o local.store.notifyplugin -v /opt/SUNWmsgsr/lib/libjmqnotify

    または


    configutil -o local.store.notifyplugin -v '/opt/SUNWmsgsr/lib/libjmqnotify$jmqnotify'

    ここで、libjmqnotify はライブラリ名であり、

    jmqnotify はプラグインパラメータのデフォルト名です。

    ライブラリ名とパラメータを区切るには、ドル記号 ($) を使用します。

    値全体を単一引用符で囲みます ('value')。そうしないと、シェルによってドル記号が解釈されます。

    デフォルトのプラグインによって読み取られる configutil パラメータの名前は次のようになります。


    local.store.notifyplugin.jmqnotify.*

    jmq42 などの別のプラグイン名を設定するには、次のコマンドを入力します。


    configutil -o local.store.notifyplugin -v '/opt/SUNWmsgsr/lib/libjmqnotify$jmq42'

    jmq42 プラグインによって読み取られる configutil パラメータの名前は次のようになります。


    local.store.notifyplugin.jmq42.*

Procedure複数のプラグインを設定する

  1. 作成するプラグインごとに、別の一連の JMQ 通知パラメータを設定します。

    たとえば、jmq1jmq2 という名前の 2 つのプラグインを設定する場合を考えてみます。新しいメッセージの通知をこの両方のプラグインで有効にし、削除されたメッセージの通知は jmq2 プラグインでのみ有効にすることにします。この場合は、local.store.notifyplugin コマンドを次のように 3 回実行します。


    configutil -o local.store.notifyplugin.jmq1.NewMsg.enable -v 1

    configutil -o local.store.notifyplugin.jmq2.NewMsg.enable -v 1

    configutil -o local.store.notifyplugin.jmq2.PurgeMsg.enable -v 1

    また、これらのプラグインが Message Queue サービスと通信できるようにするためのパラメータも指定してください。

    すべての通知パラメータを設定するための詳細な手順については、「JMQ 通知プラグインを設定する」を参照してください。

  2. プラグイン名を設定します。

    jmq1jmq2 という名前の 2 つのプラグインを設定するには、次のコマンドを入力します。


    configutil -o local.store.notifyplugin 
    -v '/opt/SUNWmsgsr/lib/libjmqnotify$jmq1$$/opt/SUNWmsgsr/ \
    lib/libjmqnotify$jmq2'

    この例では、プラグインライブラリの 2 つのインスタンスが実行されます。

    ライブラリ名と、プラグイン名を指定するパラメータを区切るには、1 つのドル記号 ($) を使用します。

    最初のプラグインインスタンスと次のプラグインインスタンスを区切るには、2 つのドル記号 ($$) を使用します。

    値全体を単一引用符で囲みます ('value')。そうしないと、シェルによってドル記号が解釈されます。

    この例では、最初のインスタンスが、jmq1 という名前を持つパラメータから設定を構築します。


    local.store.notify.jmq1.*

    2 番目のインスタンスが、jmq2 という名前を持つパラメータから設定を構築します。


    local.store.notify.jmq2.*

22.2.2 複数の configutil パラメータを使用する通知メッセージの指定

ほとんどの通知メッセージでは、1 つの local.store.notifyplugin コマンドを実行することによってメッセージを指定します。

ただし、次の通知メッセージは、複数の local.store.notifyplugin コマンドで設定されるか、または設定できます。

  1. NewMsg

  2. UpdateMsg

  3. DeleteMsg

  4. MsgFlags

次の手順は、これらの通知メッセージを設定する方法を説明しています。

Procedure新しいメッセージや更新されたメッセージの通知にメッセージヘッダーとメッセージ本文を含めるように設定する

新しい電子メールメッセージや更新された電子メールメッセージがあった場合に送信される通知メッセージのテキストに、メッセージヘッダーとメッセージ本文を追加できます。

メッセージヘッダーとメッセージ本文の追加はオプションです。両方の機能またはどちらかの機能だけを含めるか、あるいはどちらも含めないようにすることができます。デフォルトでは、メッセージヘッダーもメッセージ本文も、送信されるメッセージに含まれません。

  1. 新しいメッセージまたは更新されたメッセージの通知を次のように指定します。


    configutil -o local.store.notifyplugin.jmqnotify.NewMsg.enable -v 1

    configutil -o local.store.notifyplugin.jmqnotify.UpdateMsg.enable -v 1

    ここで、jmqnotify はプラグインの名前であり、

    -v 1 はこれらのメッセージの通知を有効にします。値を 0 にすると、通知を無効にします。

  2. 次の例のように、0 より大きい値を持つ maxHeaderSize パラメータを指定します。


    configutil -o local.store.notifyplugin.jmqnotify.maxHeaderSize -v 1024

    ここで、jmqnotify はプラグインの名前であり、

    1024 は送信されるヘッダーの最大サイズです。maxHeaderSize のデフォルト値は 0 です。この場合、送信されるメッセージにヘッダー情報は含まれません。

  3. 次の例のように、0 より大きい値を持つ maxBodySize パラメータを指定します。


    configutil -o local.store.notifyplugin.jmqnotify.maxBodySize -v 1024

    ここで、jmqnotify はプラグインの名前であり、

    5120 は送信されるメッセージ本文の最大サイズです。maxBodySize のデフォルト値は 0 です。この場合、送信されるメッセージに本文は含まれません。

Procedure削除されたメッセージの通知にメッセージヘッダーを含めるように設定する

電子メールメッセージが削除されたときに送信される通知メッセージのテキストにメッセージヘッダーを追加できます。

メッセージヘッダーの追加はオプションです。デフォルトでは、メッセージヘッダーを含まない通知が送信されます。

  1. 電子メールメッセージが削除されたときに通知が送信されるようにします。


    configutil -o local.store.notifyplugin.jmqnotify.DeleteMsg.enable -v 1

    ここで、jmqnotify はプラグインの名前であり、

    -v 1 はこのメッセージの通知を有効にします。値を 0 にすると、通知を無効にします。

  2. ExpungeHeaders パラメータを指定します。


    configutil -o local.store.notifyplugin.jmqnotify.ExpungeHeaders -v 1

    ここで、jmqnotify はプラグインの名前であり、

    -v 1 は、削除されたメッセージの通知にメッセージヘッダーを含めるようにします。ExpungeHeaders のデフォルト値は 0 です。この場合、削除されたメッセージの通知にヘッダー情報は含まれません。

    DeleteMsg メッセージにメッセージヘッダーを含めるには、ExpungeHeaders パラメータを設定してください。

  3. 次の例のように、0 より大きい値を持つ maxHeaderSize パラメータを指定します。


    configutil -o local.store.notifyplugin.jmqnotify.maxHeaderSize -v 1024

    ここで、jmqnotify はプラグインの名前であり、

    1024 は送信されるヘッダーの最大サイズです。maxHeaderSize のデフォルト値は 0 です。この場合、送信されるメッセージにヘッダー情報は含まれません。

22.2.2.1 メッセージの状態が変更されたときの通知の設定

電子メールメッセージの状態が変更されたときに送信されるように通知メッセージを設定できます。

メッセージフラグ通知で配信される情報

電子メールメッセージへの次の操作によって状態フラグが変更された場合は常に、メッセージフラグ通知が生成されます。

メッセージフラグ通知が送信される場合、その通知には次のプロパティーが含まれます。

これらの情報は、5 文字の文字列である、oldflagsnewflags の 2 つのプロパティーで伝えられます。

これらの 2 つのプロパティーの値の説明については、「newflags および oldflags プロパティーの構文」を参照してください。

メッセージフラグ通知に必要な configutil パラメータ

メッセージフラグ通知を有効にするには、次の configutil パラメータを設定してください。

最初の MsgFlags パラメータは、状態フラグの値の変更を通知メッセージで配信できるように、IMAP サーバーおよびメッセージストアがこの情報を識別して追跡できるようにします。

このパラメータは、すべての通知プラグインに適用されます。そのため、どの通知プラグインがメッセージフラグ通知を使用する場合でも、このパラメータを有効にしてください。メッセージフラグ通知を使用するプラグインがない場合は、このパラメータを無効 (デフォルト値) にする必要があります。

2 番目のパラメータ *.MsgFlags.enable は、特定のプラグインライブラリでメッセージフラグ通知が送信されるようにします。


注 –

メッセージフラグの通知を有効にするには、両方のパラメータを設定してください。


Procedureメッセージ状態フラグが変更されたときの通知を有効にする

  1. 状態フラグの追跡を可能にし、メッセージフラグ通知に状態情報が含まれるようにします。


    configutil -o local.store.notifyplugin.MsgFlags -v 1

    ここで、-v 1 は、メッセージフラグ通知でメッセージフラグ情報が送信されるようにします。値を 0 にすると、この通知を無効にします。

  2. 特定のプラグインでメッセージフラグ通知が送信されるようにします。


    configutil -o local.store.notifyplugin.jmqnotify.MsgFlags.enable -v 1

    ここで、jmqnotify はプラグインの名前であり、

    -v 1 はこのプラグインのメッセージフラグ通知を有効にします。値を 0 にすると、通知を無効にします。