メッセージブローカのJavaヒープが不足している場合の対処
imqsvcadminコマンドを使用してメッセージブローカをサービスに登録している場合
imqsvcadmin removeコマンドを使用して、メッセージブローカのサービスを削除後、imqsvcadmin installコマンドに「-vmargs -Xmx<size>」オプションを指定して、メッセージブローカを再登録します。
例
メッセージブローカのJavaヒープを512MBにする場合
imqsvcadmin install -vmargs -Xmx512m
imqbrokerdコマンドを使用してメッセージブローカを起動している場合
imqbrokerdコマンドを「-vmargs -Xmx<size>」オプションをつけて実行し、メッセージブローカを起動します。
例
メッセージブローカのJavaヒープを512MBにする場合
imqbrokerd -vmargs -Xmx512m
RCプロシージャを使用してメッセージブローカを起動している場合
作成したRCプロシージャの「VM_ARGS」の項目に「-Xmx<size>」オプションを追加します。
例
メッセージブローカのJavaヒープを512MBにする場合
VM_ARGS="-Xmx512m"
unitファイルを使用してメッセージブローカを起動している場合
作成したunitファイルのEnvironmentオプションの「VM_ARGS」の項目に「-Xmx<size>」オプションを追加します。
例
メッセージブローカのJavaヒープを512MBにする場合
Environment="VM_ARGS=-Xmx512m"
imqbrokerdコマンドを使用してメッセージブローカを起動している場合
imqbrokerdコマンドを「-vmargs -Xmx<size>」オプションをつけて実行し、メッセージブローカを起動します。
例
メッセージブローカのJavaヒープを512MBにする場合
imqbrokerd -vmargs -Xmx512m
メッセージブローカを停止できない
起動しているすべてのメッセージブローカをimqcmdコマンドで停止してください。
imqcmdコマンドで停止できないメッセージブローカについては、以下の対処をしてください。
タスクマネージャーのプロセス一覧からイメージ名「imqbrokersvc.exe」が存在するかどうかを確認します。
イメージ名「imqbrokersvc.exe」を選択して右クリックし、「プロパティ」を選択します。全般タブの「場所」に製品をインストールしたディレクトリーが含まれていることを確認します。
イメージ名「imqbrokersvc.exe」を選択して右クリックし、「プロセス ツリーの終了」を選択します。
タスクマネージャーの警告画面が表示されるので、「プロセス ツリーの終了」をクリックします。
当該メッセージブローカのPIDを特定します。
以下のコマンドを実行して、imqbrokerdコマンドのPIDとPPIDを取得します。
ps -ef | grep /opt/FJSVeapf/glassfish/mq/bin/imqbrokerd | grep -v " grep "
上記コマンドで取得したPIDとPPIDからメッセージブローカのPIDを取得します。
ps -e -o pid,ppid | grep $pid | grep -v -w $ppid | awk '{print $(1)}'
当該メッセージブローカプロセスを強制停止します。
kill $メッセージブローカのpid
アクセス制御ファイル(accesscontrol.properties)またはパスワードファイル(passwd)が存在しない場合の対処
アクセス制御ファイル(accesscontrol.properties)またはパスワードファイル(passwd)が存在しないために、コマンドを使用してメッセージブローカの起動または停止ができない場合は、以下の対処をしてください。
以下のデフォルトのアクセス制御ファイル「accesscontrol.properties.default」を「accesscontrol.properties」として、コマンド実行時に出力されるエラー情報に記載されたアクセス制御ファイルのパスにコピーしてください。
C:\eapf\glassfish\mq\etc\accesscontrol.properties.default
/opt/FJSVeapf/glassfish/mq/etc/accesscontrol.properties.default
以下のデフォルトのパスワードファイル「passwd.default」を「passwd」として、コマンド実行時に出力されるエラー情報に記載されたパスワードファイルのパスにコピーしてください。
C:\eapf\glassfish\mq\etc\passwd.default
/opt/FJSVeapf/glassfish/mq/etc/passwd.default
ポイント
imqcmdコマンドでメッセージブローカを停止する場合は、デフォルトユーザーとデフォルトパスワードを指定して実行してください。
コピー先のファイルの権限を「root/root 0644」に変更してください。
注意
本操作後は、メッセージブローカのユーザー設定が初期化されます。「6.9 JMSのセキュリティ機能」に記述されている設定を再度実行してから、メッセージブローカを起動してください。
JMS送信先リソースにQueueを使用するMessage-driven Beanを配備した場合、Topicの物理格納先に接続される
以下の可能性があります。
JMS送信先リソースの参照先にGlassFish Serverクラスターが指定されていない可能性があります。
asadmin list-resource-refsサブコマンドを使用して、JMS送信先リソースの参照先にGlassFish Serverクラスターが指定されているかを確認してください。GlassFish Serverクラスターが指定されていない場合は、asadmin create-resource-refサブコマンドを使用してGlassFish Serverクラスターを参照先に指定してください。
JMS送信先リソースが利用不可になっている可能性があります。
asadmin get GlassFish Serverクラスター名.resources.admin-object-resource.JNDI名.enabledコマンドを使用して、JMS送信先リソースが利用不可になっていないかを確認してください。JMS送信先リソースが利用不可になっている場合は、有効にしてください。
上記対応後、Message-driven Beanを再配備し、必要に応じてTopicの物理格納先を削除してください。
Windowsのサービスから「Message Queue Broker(glassfish)」の停止ができない
imqcmd shutdown bkrサブコマンドに、停止したいメッセージブローカのポート番号を指定して、メッセージブローカを停止してください。
なお、サービスプロセスが多く存在することにより、デスクトップヒープが枯渇している可能性があります。マイクロソフトサポート技術情報を参照し、デスクトップヒープを拡張してください。