ページの先頭行へ戻る
Enterprise Application Platform V1.1.0 GlassFishユーザーズガイド
FUJITSU Software

5.9.1 メッセージブローカのサービス化

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


登録

imqsvcadmin installサブコマンドを実行して、サービスに登録します。メッセージブローカがサービス名「Message Queue Broker(glassfish)」としてサービスに登録されます。

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

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

C:\eapf\glassfish\mq\bin\imqsvcadmin install -args "-name test -port 27676"
解除

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

C:\eapf\glassfish\mq\bin\imqsvcadmin remove

注意

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

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

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

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


登録

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

  1. unitファイルの編集

    サービス化のため、unitファイル("FJSVijmq.service")が、以下のディレクトリーに提供されています。

    格納先

    /opt/FJSVeapf/glassfish/mq/etc/systemd/system/FJSVijmq.service

    FJSVijmq.serviceファイルを、任意の場所(以下の例では/workディレクトリー)に複写します。

    cp /opt/FJSVeapf/glassfish/mq/etc/systemd/system/FJSVijmq.service /work

    複写後、FJSVijmq.serviceファイルのEnvironmentオプションに設定されている以下の項目を編集します。Environmentオプションは、ダブルクォーテーション("")で囲んで設定してください。

    BROKER_PORT

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

    BROKER_OPT

    メッセージブローカプロセスに設定するメッセージブローカオプションのリストです。
    複数指定する場合は、オプションを半角の空白で区切ってください。
    本項目を削除しないでください。また本項目に必ず値を設定してください。

    VM_ARGS

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

    注意

    unitファイルの編集について

    unitファイル("FJSVijmq.service")は、直接編集しないでください。必ず任意の場所に複写した後、複写したファイルを編集してください。
    BROKER_PORT項目を削除しないでください。また必ず値を設定してください。
    BROKER_PORT項目の値が未設定の場合や削除されている場合は、サービスの処理が正しく動作しない可能性があります。
    また、上記以外の項目は、編集しないでください。サービスの処理が正しく動作しない可能性があります。

    ポート番号の設定について

    ポート番号には、システム上のアプリケーションを含むすべてのサービスで、それぞれ異なるポート番号を設定する必要があります。以下の値を設定しないでください。

    • システム内の他のサービス、システム上のアプリケーションが使用するポート番号

    • システムが動的に割り当てる領域のポート番号(エフェメラルポート)

    ポート番号の設定については、「付録C ポート番号」を参照してください。

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

    [Unit]
    Description=%p
    Wants=network-online.target
    After=network.target network-online.target rsyslog.service remote-fs.target nss-lookup.target
    Before=FJSVpcmi_start.service FJSVpcmi_stop.service
    
    [Service]
    Environment="BROKER_PORT=27676"
    Environment="BROKER_OPT=-Dimq.system.max_count=1 -Dimq.system.max_size=1k"
    Environment="VM_ARGS=-Xmx256m"
    Type=forking
  2. unitファイルの格納

    1.で作成したファイルのパーミッションを「0400」に変更し、/etc/systemd/systemに格納します。

    注意

    unitファイルを作成/登録する場合は、unitファイルのファイル名を変更して登録してください。
    unitファイル名は、「FJSVijmq_識別子.service」とすることを推奨します。なお、識別子には、半角英数字だけを使用してください。

    また、複数のunitファイルを作成/登録する場合は、unitファイル名の識別子を同じにしないでください。

    chmod 0400 /work/FJSVijmq.service
    mv /work/FJSVijmq.service /etc/systemd/system/FJSVijmq_sample.service
  3. サービスの登録

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

    systemctl enable FJSVijmq_sample.service
  4. サービスの起動

    systemctlコマンドを使用してサービスを起動します。

    systemctl start FJSVijmq_sample.service
再登録

一度サービス登録した後に、unitファイルを編集し再度登録する場合は、必ず以下のコマンドを実行してください。

systemctl daemon-reload
解除

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

  1. サービスの停止

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

    systemctl stop FJSVijmq_sample.service
  2. サービスの登録解除

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

    systemctl disable FJSVijmq_sample.service
  3. unitファイルの削除

    /etc/systemd/systemに格納したunitファイルを、別ディレクトリーに退避/削除します。

注意

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

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