ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

4.15.4 メッセージブローカのEMBEDDED運用

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

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

JMSクライアントアプリケーションが物理格納先にメッセージを送受信する場合、物理格納先を管理しているメッセージブローカを事前に起動する必要があります。メッセージブローカは、DASと連携して起動するため、DASを起動してください。詳細については、「10.1.6.1 start-domainサブコマンド」を参照してください。

C:\Interstage\glassfish5\glassfish\bin\asadmin start-domain

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin start-domain

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

メッセージブローカを起動するホストは、hostsファイルの内容/DNSの設定により、名前解決(IPアドレス解決)を可能にしておく必要があります。
ネットワーク環境をDNSで運用している場合は、DNSを設定してください。DNSで運用していない場合は、以下に格納されているhostsファイルの内容を確認して、必要に応じて追加/修正してください。

hostsファイルの記載方法については、「使用上の注意」の「注意事項」-「Interstage共通の注意事項」-「hostsファイルの記載について」を参照してください。

(Windowsのインストールフォルダー)\system32\drivers\etc\hosts

/etc/hosts

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

asadminコマンドを使用して、メッセージブローカを停止します。メッセージブローカは、DASと連携して停止するため、DASを停止してください。コマンドの詳細については、「10.1.6.3 stop-domainサブコマンド」を参照してください。

C:\Interstage\glassfish5\glassfish\bin\asadmin stop-domain

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin stop-domain

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

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

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


変更手順
  1. DASを起動します。

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

  3. DASを再起動します。

注意

管理ユーザー「admin」の管理ユーザーパスワードを変更する前にパスワードファイルを作成している場合は、管理ユーザーパスワードを変更したあと、imqusermgr encodeサブコマンドを使用してパスワードファイルを再作成してください。コマンドの詳細については、「10.8.5 encodeサブコマンド」を参照してください。

imqusermgr updateサブコマンド実行時に、B3137のメッセージが出力される場合は、imqbrokerdコマンドに-initオプションを指定して、メッセージブローカの資材を作成してください。


ポート番号の変更

JMSクライアントアプリケーションおよびメッセージブローカ管理コマンドは、メッセージブローカと通信します。通信に使用するデフォルトのポート番号は「17696」です。

デフォルトのポート番号を変更したい場合は、asadmin setサブコマンドを使用して、JMSサービスに関する定義項目、およびシステムプロパティを変更します。

コマンドの詳細については、「10.1.4.2 setサブコマンド」を参照してください。また、定義項目の詳細については、「8.8.10 JMSサービスの定義項目」、および「8.8.1 定義時に利用できるプロパティ」を参照してください。

注意

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

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

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

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


変更手順
  1. DASを起動します。

  2. asadmin setサブコマンドを使用してポート番号を変更します。

  3. DASを再起動します。


定義項目名

server-config.jms-service.jms-host.default_JMS_host.port
server-config.system-property.JMS_PROVIDER_PORT.value

デフォルトのポート番号を「17687」に変更します。

C:\Interstage\glassfish5\glassfish\bin\asadmin set server-config.jms-service.jms-host.default_JMS_host.port=${JMS_PROVIDER_PORT}
server-config.jms-service.jms-host.default_JMS_host.port=${JMS_PROVIDER_PORT}
Command set executed successfully.

C:\Interstage\glassfish5\glassfish\bin\asadmin set server-config.system-property.JMS_PROVIDER_PORT.value=17687
server-config.system-property.JMS_PROVIDER_PORT.value=17687
Command set executed successfully.

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin set server-config.jms-service.jms-host.default_JMS_host.port=\$\{JMS_PROVIDER_PORT\}
server-config.jms-service.jms-host.default_JMS_host.port=${JMS_PROVIDER_PORT}
Command set executed successfully.

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin set server-config.system-property.JMS_PROVIDER_PORT.value=17687
server-config.system-property.JMS_PROVIDER_PORT.value=17687
Command set executed successfully.

現在設定されているメッセージブローカのポート番号を確認するには、asadmin getサブコマンドを使用します。コマンドの詳細については、「10.1.4.1 getサブコマンド」を参照してください。


メッセージブローカのポート番号の確認

C:\Interstage\glassfish5\glassfish\bin\asadmin get server-config.jms-service.jms-host.default_JMS_host.port
server-config.jms-service.jms-host.default_JMS_host.port=${JMS_PROVIDER_PORT}
Command get executed successfully.

C:\Interstage\glassfish5\glassfish\bin\asadmin get server-config.system-property.JMS_PROVIDER_PORT.value
server-config.system-property.JMS_PROVIDER_PORT.value=17696
Command get executed successfully.

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin get server-config.jms-service.jms-host.default_JMS_host.port
server-config.jms-service.jms-host.default_JMS_host.port=${JMS_PROVIDER_PORT}
Command get executed successfully.

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin get server-config.system-property.JMS_PROVIDER_PORT.value
server-config.system-property.JMS_PROVIDER_PORT.value=17696
Command get executed successfully.

また、DASが起動できないなどの理由で、asadmin setサブコマンドが使用できない場合は、以下の手順でdomain.xmlを修正してください。


変更手順
  1. DASを停止します。

  2. domain.xmlに設定されている<jms-host>のport、および<system-property>のvalueを編集します。

  3. DASを起動します。


domain.xmlの格納先
[運用資産格納ディレクトリー]\domains\domain1\config\domain.xml
[運用資産格納ディレクトリー]/domains/domain1/config/domain.xml

domain.xmlの修正箇所
<configs>
  <config name="server-config">
      <system-property name="JMS_PROVIDER_PORT" description="Port Number that JMS Service will listen for remote clients connection." value="17696"></system-property>

    ~省略~

      <jms-service default-jms-host="default_JMS_host" type="EMBEDDED">
        <jms-host port="${JMS_PROVIDER_PORT}" host="localhost" name="default_JMS_host"></jms-host>
      </jms-service>

    ~省略~

  </config>
  <config name="default-config">

    ~省略~

  </config>
</configs>

domain.xmlの修正方法

<config name="server-config">配下の<jms-service>に記載されている<jms-host>部分において、portの値を、${JMS_PROVIDER_PORT}に書き換えてください。portの記述がない場合は、「port=」の部分から追加してください。また、<config name="server-config">配下の、nameの値がJMS_PROVIDER_PORTとなっている<system-property>において、valueの値を変更したいポート番号に書き換えてください。

デフォルトのポート番号を「17687」に変更します。

<system-property name="JMS_PROVIDER_PORT" description="Port Number that JMS Service will listen for remote clients connection." value="17687"></system-property>

<jms-service default-jms-host="default_JMS_host" type="EMBEDDED">
  <jms-host port="${JMS_PROVIDER_PORT}" host="localhost" name="default_JMS_host"></jms-host>
</jms-service>

メモリ使用量

EMBEDDED運用を行う場合、メッセージブローカの起動で、およそ150メガバイトのメモリを消費します。
以下のようにメモリ使用量を見積もってください。

メモリ使用量(MB)=
150+(物理格納先に蓄積するメッセージの最大数×1件あたりのメッセージ最大サイズ)

また、必要に応じて、上記メモリ使用量からDASのJava VMのヒープ領域サイズをチューニングしてください。チューニングの詳細については、「6.1.2 Java VMのヒープ領域サイズ/メタスペースサイズ」を参照してください。