ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Java EE運用ガイド(Java EE 6編)
FUJITSU Software

4.15.3 メッセージブローカのREMOTE運用

ここでは、以下について説明します。

メッセージブローカの起動

JMSクライアントアプリケーションが物理格納先にメッセージを送受信する場合、物理格納先を管理しているメッセージブローカを事前に起動する必要があります。

メッセージブローカは、以下の方法で起動します。

コマンドによる起動

imqbrokerdコマンドを使用して、メッセージブローカを起動します。詳細については、「9.5 imqbrokerd」を参照してください。

C:\Interstage\F3FMisje6\mq\bin\imqbrokerd -name メッセージブローカ名 -port ポート番号

/opt/FJSVisje6/mq/bin/imqbrokerd -name メッセージブローカ名 -port ポート番号

ポイント

imqbrokerdコマンド実行後、コマンドプロンプトは復帰しません。


サービス化による起動

メッセージブローカは、通常コマンドで起動する必要がありますが、オペレーティングシステム起動時に自動起動する運用を行う場合は、以下の手順でサービス化することができます。


登録

imqsvcadmin installサブコマンドを実行して、サービスに登録します。メッセージブローカがサービス名「Interstage Message Queue Broker(ISJE6)」としてサービスに登録されます。コマンドの詳細については、「9.7.1 installサブコマンド」を参照してください。

C:\Interstage\F3FMisje6\mq\bin\imqsvcadmin install -args メッセージブローカの起動引数

メッセージブローカのインスタンス名を「test」、ポート番号を「37676」に設定してサービス化する場合は、以下のようにimqsvcadminコマンドを実行します。

C:\Interstage\F3FMisje6\mq\bin\imqsvcadmin install -args "-name test -port 37676"
解除

imqsvcadmin removeサブコマンドを実行して、サービス登録を解除します。サービスの削除実行時にメッセージブローカが起動中だった場合、メッセージブローカの停止後にサービスから削除されます。コマンドの詳細については、「9.7.2 removeサブコマンド」を参照してください。

C:\Interstage\F3FMisje6\mq\bin\imqsvcadmin remove

注意

  • サービス化できるメッセージブローカは、1つです。

  • サービス登録時に指定した情報は、変更できません。変更する場合は、いったんサービスを削除してから、新しい情報を使用して登録してください。

  • サービスのログオンアカウントを設定する場合は、管理者権限を持つアカウントを設定してください。

  • サービスの登録状態とサービス登録時に指定した情報は、IJServerクラスタのバックアップ・リストアの対象になりません。リストア時には、必要に応じてメッセージブローカのサービス登録作業から再度実行してください。

登録

本作業は、rootユーザで実施してください。

  1. rcスクリプトの編集

    サービス化のため、rcスクリプト("ijmq")が、以下のディレクトリに提供されています。

    格納先

    /opt/FJSVisje6/mq/etc/init.d

    ijmqスクリプトを、任意の場所(以下の例では/tmpディレクトリ)に複写します。

    cp /opt/FJSVisje6/mq/etc/init.d/ijmq /tmp

    複写後、ijmqファイルの以下の項目を編集します。設定値は、ダブルクォーテーション("")で囲んで設定してください。

    BROKER_PORT

    サービス化するブローカプロセスが使用するポート番号です。
    ここで設定した値は、ブローカのインスタンス名としても採用されます。

    BROKER_OPT

    ブローカプロセスに設定するブローカオプションのリストです。
    複数指定する場合は、オプションを半角の空白で区切ってください。

    VM_ARGS

    ブローカプロセス起動時にJVMに渡すVMオプションのリストです。
    複数指定する場合は、オプションを半角の空白で区切ってください。

    注意

    rcスクリプト("ijmq")は、直接編集しないでください。必ず任意の場所に複写した後、複写したファイルを編集してください。

    また、上記以外の項目は、編集しないでください。rcスクリプトが正しく動作しない可能性があります。

    以下のように設定します。

    #!/bin/sh
    #
    # ijmq:         Interstage Application Server
    #
    # Version:      @(#) /etc/rc.d/init.d/ijmq 1.0
    #
    # Author:       FUJITSU LIMITED
    #
    # chkconfig: 2345 97 3
    # description: Interstage Application Server
    # processname: imqbrokerd
    
    # set broker port
    BROKER_PORT="37676"
    BROKER_OPT="-Dimq.system.max_count=1 -Dimq.system.max_size=1k"
    VM_ARGS="-Xmx256m"
  2. rcスクリプトの格納

    1.で作成したファイルのパーミッションを「0500」に変更し、/etc/init.dに格納します。複数のrcスクリプトの作成/登録を行う場合は、rcスクリプトのファイル名を変更して登録してください。

    chmod 0500 /tmp/ijmq
    mv /tmp/ijmq /etc/init.d/ijmq01
  3. サービスの登録


    /etc/rc0.d、/etc/rc2.dに、シンボリックリンクを作成します。

    ln -s /etc/init.d/ijmq01 /etc/rc0.d/K03ijmq01
    ln -s /etc/init.d/ijmq01 /etc/rc2.d/S97ijmq01


    chkconfigコマンドを使用してサービスを登録します。

    /sbin/chkconfig --add ijmq01
解除

本作業は、rootユーザで実施してください。

  1. サービスの停止

    サービスが起動している場合は、停止します。

    /etc/init.d/ijmq01 stop
  2. サービスの登録解除


    /etc/rc0.d、/etc/rc2.dに、作成したシンボリックリンクを削除します。

    rm /etc/rc0.d/K03ijmq01
    rm /etc/rc2.d/S97ijmq01


    chkconfigコマンドを使用してサービスの登録を解除します。

    /sbin/chkconfig --del ijmq01
  3. rcスクリプトの削除

    /etc/init.dに格納したrcスクリプトを、別ディレクトリに退避/削除を行います。

注意

  • 登録したサービスは、Interstageのアンインストール時に削除されません。アンインストール後に不要となったサービスは、必ず削除してください。

  • rcスクリプトは、IJServerクラスタのバックアップ・リストアの対象になりません。バックアップ時には、別途、登録したrcスクリプトファイルのバックアップを行ってください。また、リストア時には、バックアップしたrcスクリプトの登録作業から再度実行してください。


メッセージブローカの起動状態の確認

imqcmd list svcサブコマンドを使用して、メッセージブローカの起動状態が確認できます。コマンドの詳細については、「9.6.8 list svcサブコマンド」を参照してください。

メッセージブローカが起動している場合

「Successfully listed services.」が出力されます。

C:\Interstage\F3FMisje6\mq\bin\imqcmd list svc -b localhost:17676
Username: admin
Password:
Listing all the services on the broker specified by:

-------------------------
Host         Primary Port
-------------------------
localhost    17676

------------------------------------------------
Service Name    Port Number        Service State
------------------------------------------------
admin           49205 (dynamic)    RUNNING
httpjms         -                  UNKNOWN
httpsjms        -                  UNKNOWN
jms             49206 (dynamic)    RUNNING
ssladmin        dynamic            UNKNOWN
ssljms          dynamic            UNKNOWN

Successfully listed services.

メッセージブローカが停止している場合

C4003が出力されます。

/opt/FJSVisje6/mq/bin/imqcmd list svc -b localhost:17676
Username: admin
Password:
Listing all the services on the broker specified by:

-------------------------
Host         Primary Port
-------------------------
localhost    17676

2012/05/31 19:40:42 com.sun.messaging.jmq.jmsclient.ExceptionHandler throwConnectionException
警告: [C4003]: Error occurred on connection creation [localhost:17676]. - cause: java.net.ConnectException: Connection
 refused: connect
Error while connecting to the broker on host 'localhost' and port '17676'.
com.sun.messaging.jms.JMSException: [C4003]: Error occurred on connection creation [localhost:17676]. - cause: java.ne
t.ConnectException: Connection refused: connect
Please verify that there is a broker running on the specified host and port or
 use the '-b' option to specify the correct broker host and port.

Listing services failed.

メッセージブローカ起動時の注意事項

メッセージブローカの停止

imqcmd shutdown bkrサブコマンドを使用して、メッセージブローカを停止します。停止対象のメッセージブローカが動作するホスト名とポート番号を指定してください。コマンドの詳細については、「9.6.20 shutdown bkrサブコマンド」を参照してください。

C:\Interstage\F3FMisje6\mq\bin\imqcmd shutdown bkr -b localhost:17676

/opt/FJSVisje6/mq/bin/imqcmd shutdown bkr -b localhost:17676

メッセージブローカの一時停止

imqcmd pause bkrサブコマンドを使用して、メッセージブローカを一時停止します。メッセージブローカを一時停止すると、新しい接続の受け入れ、メッセージの受信、配信を停止できます。コマンドの詳細については、「9.6.9 pause bkrサブコマンド」を参照してください。

C:\Interstage\F3FMisje6\mq\bin\imqcmd pause bkr -b localhost:17676

/opt/FJSVisje6/mq/bin/imqcmd pause bkr -b localhost:17676

メッセージブローカの再開

imqcmd resume bkrサブコマンドを使用して、メッセージブローカを再開します。メッセージブローカを再開すると、メッセージブローカの新しい接続の受け入れ、メッセージの受信、配信が再開されます。コマンドの詳細については、「9.6.18 resume bkrサブコマンド」を参照してください。

C:\Interstage\F3FMisje6\mq\bin\imqcmd resume bkr -b localhost:17676

/opt/FJSVisje6/mq/bin/imqcmd resume bkr -b localhost:17676

管理ユーザパスワードの変更

imqcmdコマンドを使用する場合は、メッセージブローカの管理ユーザとパスワードが必要です。管理ユーザとパスワードについては、「5.8.1 ユーザとグループ」を参照してください。

メッセージブローカには、管理ユーザ「admin」が、デフォルトで作成されています。セキュリティの観点から、管理ユーザ「admin」のパスワードは必ず変更してください。
パスワードは、imqusermgr updateサブコマンドを使用して変更します。コマンドの詳細については、「9.8.3 updateサブコマンド」を参照してください。


変更手順
  1. メッセージブローカを起動します。

  2. imqusermgr updateサブコマンドを使用して管理ユーザ「admin」のパスワードを変更します。

  3. IJServerクラスタを停止します。

  4. Interstage Java EE 6 DASサービスを停止します。

  5. メッセージブローカを停止します。

  6. メッセージブローカを起動します。

  7. Interstage Java EE 6 DASサービスを起動します。

  8. IJServerクラスタを起動します。