ここでは、Java メッセージキューに関する既知の問題とその解決方法を示します。
JMS を REMOTE モードの Enterprise Server として設定している場合、MQ ブローカが起動していないと起動に失敗します。
次のように JVM オプションを設定します。com.sun.enterprise.jms.CONNECT_MQ_LAZILY=true 。この JVM オプションを設定したあとは、MQ ブローカが起動していない場合でも Enterprise Server を起動できます。ただし、サーバーを起動する前に、MQ を起動することをお勧めします。
タイミングに依存する場面での再接続の失敗は、さまざまな問題によって引き起こされます。
これらの問題は、次の方法で回避できます。
関連するブローカを再起動する
関連する インスタンスを再起動する
ドメインを作成しクラスタプロファイルを Linux システム上に配置すると、java.lang.OutOfMemoryError: Java heap space エラーが発生する場合があり、MQ ブローカが起動しないためにサーバーインスタンスが再起動できないことがあります。この状況になったシステムが回復することはありません。問題は /etc/hosts ファイルの設定ミスです。特に、サーバーホスト名がループバックアドレス 127.0.0.1 を指している場合です。
設計上、ネットワークデバイスがループバックアドレスを指すように設定された状態で MQ ブローカクラスタが開始することはできません。これはバグではありません。回避方法は、Enterprise Server ホストの /etc/hosts ファイルが 127.0.0.1 を指さないようにすることです。
サーバーは起動中に Message Queue のバージョンをチェックします。Message Queue のバージョンが正しくない場合、サーバーは imqjmsra.jar を使用してアップグレードを行います。このアップグレード用の JAR とそのクラスは、次に再起動されるまでサーバーから利用できません。この状況は、Message Queue が単独でアップグレードされる場合、または Application Server のみにパッチが適用される場合に発生します。この状況の副次的な影響として、サーバーが起動しない場合があります。
Message Queue と Enterprise Server の両方を同じパッチレベルに維持する必要があります。または、サーバーを再起動してください。