メッセージキュー 4.4 には、新しいバグの修正と、メッセージキュー 4.x ファミリのこれまでのリリースで解決されたバグの修正が含まれます。
次の各節では、それぞれのリリースで修正されたバグの一覧を示します。
次の表に、メッセージキュー 4.4 で修正されたバグを示します。
表 1–7 メッセージキュー 4.4 で修正されたバグ| バグ | 説明 | 
|---|---|
| 6242247 | 2 つのブローカが同じマシン上にあり、同じ名前である場合、マスターブローカを持つ MQ クラスタが起動後にハングアップします。 | 
| 6760937 | 再起動されたブローカが DB に再接続しません。 | 
| 6765410 | マスターブローカがローカルの配信対象に 2 回送信を行うと、スレーブで「永続サブスクリプションがすでにアクティブである」という例外が発生します。 | 
| 6796506 | リモートの PREPARE 応答の受信中にタイムアウトが発生した場合、リモートの PREPARED メッセージがロールバック後に再配信されません。 | 
| 6821639 | MQRA-DIRECT モードで AS 回復中に、rollback/commitTransaction で NPE が発生します。 | 
| 6836364 | トピックがサブスクライバより前に作成されている場合、ワイルドカードサブスクライバがリモートメッセージを受信しません。 | 
| 6836749 | HA(JCAPS): 永続サブスクリプションの 1 つでメッセージをロールバックしてコミットしたあと、受信時に「ストアに確認応答が存在する」という例外が発生します。 | 
| 6858905 | Consumer.destroyConsumer で ConcurrentModificationException が発生します。 | 
次の表に、メッセージキュー 4.3 で修正されたバグを示します。
表 1–8 Message Queue 4 で修正されたバグ3| バグ | 説明 | 
|---|---|
| 6634033 | クライアントが作成されたときに、クラスタプロトコルが imqConsumerFlowLimit の値をリモートブローカに伝達しません。 | 
| 6713012 | リモートブローカの再起動と同時に、クラスタ内のブローカでコンシューマを破棄すると、一部のメッセージが配信されない場合があります。 | 
| 6727555 | ブローカのログメッセージ「Max bytes per msg exceeded」が実際のメッセージサイズを表し、max bytes per message の値と入れ替わっています。 | 
| 6737404 | JMX メトリックは、送信先 (トピックおよびキュー) からディスパッチされているが、まだコンシューマに配信されていないメッセージの数を示す必要があります。 | 
| 6740568 | 単一のトランザクションで消費されたメッセージが多すぎると、ブローカが例外をスローします。 | 
| 6758524 | 永続サブスクリプションを一覧表示するコマンド (imqcmd list dur -d "foo.*") で、送信先名にワイルドカード文字を使用できません。 | 
| 6758952 | imq.portmapper.hostname=localhost を設定すると、ブローカがクラスタ内に接続できなくなります。 | 
| 6758817 | imq.cluster.hostname=localhost (非推奨) を設定すると、別のマシンのブローカがクラスタ内に接続できなくなります。 | 
次の表に、メッセージキュー 4.2 で修正されたバグを示します。
表 1–9 Message Queue 4.2 で修正されたバグ| バグ | 説明 | 
|---|---|
| 6581592 | インストーラまたはアンインストーラがテキストモード (installer –t ) で実行されているときは、「概要」画面にログファイルまたは概要ファイルを含むディレクトリが表示されますが、これらのファイルの名前のリストは表示されません。 | 
| 6585911 | インストーラにバンドルされている、インストーラの実行に使用する JRE が、インストーラの「JDK の選択」画面に正しく表示されません。 | 
| 6587112 | 複数バイトロケールで、インストーラの「概要」画面に無意味な文字が表示されます。 | 
| 6587127 | 回答ファイルを参照して (installer -a filename -s) インストーラを実行するときに、回答ファイルが存在しない場合、矛盾した不明瞭なエラーメッセージが表示されます。 | 
| 6590969 | クライアント接続認証で、DN ユーザー名形式が許可されます。 | 
| 6594381 | Message Queue 4.1 ローカリゼーション RPM のインストール (「多言語パッケージ」画面で「Message Queue 多言語パッケージのインストール」チェックボックスにチェックマークを付けた場合に実行される) は、古いバージョンの Message Queue ローカリゼーション RPM がシステムに存在すると、異常終了します。 | 
| 6599144 | Message Queue 4.2 のアンインストール時に、Java SE 6 ではスプラッシュ画面とアンインストーラがハングアップして空のグレー画面になりますが、Java SE 5 では正しく動作します。 | 
| 6615741 | ロールバックの前に元のコンシューマが閉じられると、ロールバックされたトランザクションコンシューマセッションで配信されたメッセージは再配信されません。 | 
| 6629922 | 分散トランザクションハンドラは、非アクティブなコンシューマ に正しい順序でメッセージを再配信しません。 | 
| 6635130 | 送信先のメモリー制限またはメッセージ制限に達したために一時停止された後、ブローカは、非持続メッセージのプロデューサに 生成を再開するように通知できません。 | 
| 6641117 | ロールバックの後に元のコンシューマが閉じられると、ロールバックされたトランザクションコンシューマセッションで配信されたメッセージは再配信されません。 | 
| 6683897 | 設定が正常に完了したように見える場合でも、Message Queue インストーラの概要画面に設定エラーが報告されます。インストーラは、一部のコンピュータの /dev/sterr に書き込むことができません。 | 
| 6684069 | コンシューマトランザクションで多数のメッセージがリモートクライアントに配信されるブローカクラスタで、トランザクションのコミットに障害が発生します。 | 
| 6688935 | Portmapper の読み取りのタイムアウトが短すぎます。 | 
| 6695238 | C クライアントアプリケーションは、パスにスペースが含まれている場所にインストールされたブローカに接続できません。 | 
| 6710168 | 送信先が再開されないまま 2 回続けて一時停止されると、コンシューマはメッセージを消費しなくなります。 | 
| 6710169 | JMX 操作 ConsumerManagerMonitor.getConsumerInfo は、通知モードでは常に SESSION_TRANSACTED を返します。 | 
次の表に、メッセージキュー 4.1 で修正されたバグを示します。
表 1–10 Message Queue 4.1 で修正されたバグ| バグ | 説明 | 
|---|---|
| 6381703 | 処理されたリモートメッセージが、そのメッセージの発信元のブローカが再起動された場合に、2 回コミットされることがあります。 | 
| 6388049 | 未完了の分散トランザクションをクリーンアップできません。 | 
| 6401169 | imqcmd のコミットおよびロールバックオプションで、確認のプロンプトが表示されません。 | 
| 6473052 | 自動作成されたキューのデフォルトはラウンドロビンであるべきです。(MaxNumberConsumers = -1)。 | 
| 6474990 | ブローカのログに、imqcmd list dst コマンドに対して ConcurrentModificationException が示されます。 | 
| 6487413 | LimitBehavior が REMOVE_OLDEST または REMOVE_LOWER_PRIORITY のときに、メモリーがリークします。 | 
| 6488340 | ブローカがスピンし、クライアントは確認に対する応答を待機します。 | 
| 6502744 | ブローカが、デッドメッセージキューのデフォルト制限 (1000 のメッセージ) を尊重しません。 | 
| 6517341 | クライアントが拡張ブローカクラスタへ接続している際の、再接続ロジックを、imqReconnectEnabled プロパティーの値に関係なく再接続を可能にするように改善すべきです。 | 
| 6528736 | 起動時に Windows 自動起動サービス (imqbrokersvc) に障害が発生します。 | 
| 6561494 | 両者が 1 つのセッションを共有していると、メッセージが間違ったコンシューマに配信されます。 | 
| 6567439 | PREPARED トランザクションの生成メッセージがブローカの再起動後にコミットされた場合、それらのメッセージは順序どおりに配信されません。 | 
次の表に、メッセージキュー 4.0 で修正されたバグを示します。
表 1–11 メッセージキュー 4.0 で修正されたバグ| バグ番号 | 説明 | 
|---|---|
| 4986481 | メッセージキュー 3.5 では、自動再接続モードでの Session.recover の呼び出しがハングすることがありました。 | 
| 4987325 | Session.recover の呼び出し後に、再配信されたフラグは再配信されたメッセージに対して false に設定されました。 | 
| 6157073 | 新しく接続メッセージが変更され、接続の合計数のほかにサービス上の接続数も表示されるようになりました。 | 
| 6193884 | メッセージキュー は、メッセージに非アスキー文字を使用するロケールで文字化けメッセージを syslog に出力します。 | 
| 6196233 | JMSMessageID を使用したメッセージ選択が機能しません。 | 
| 6251450 | クラスタのシャットダウン時、 connectList に ConcurrentModificationException が発生します。 | 
| 6252763 | java.nio.HeapByteBuffer.putLong/Int に java.nio.BufferOverflowException が発生します。 | 
| 6260076 | Oracle ストレージを使用すると、起動後に発行される最初のメッセージが遅くなります。 | 
| 6260814 | JMSXUserID 上のセレクタ処理が、常に false と評価されてしまいます。 | 
| 6264003 | キューブラウザにコミットされていないメッセージが表示されます。 | 
| 6271876 | 消費されていないメッセージを含むコンシューマを閉じようとすると、接続フロー制御が正しく動作しなくなります。 | 
| 6279833 | メッセージキュー では、2 つのブローカが同じ JDBC テーブルを使用することはできません。 | 
| 6293053 | システム IP アドレスが変更された場合、—reset store を使用してストアをクリアしていないと、マスターブローカが正しく起動しません。 | 
| 6294767 | メッセージキュー ブローカがネットワークソケットを開く場合、そのネットワークソケット上に SO_REUSEADDR を設定する必要があります。 | 
| 6304949 | TopicConnectionFactory に ClientID プロパティーを設定することができません。 | 
| 6307056 | txn ログがパフォーマンス上のボトルネックになっています。 | 
| 6320138 | メッセージキュー C API では reply-to ヘッダーからキューの名前を決定することができません。 | 
| 6320325 | Solaris 上に JDK 1.4 と JDK 1.5 の両方がインストールされている場合、ブローカが JDK 1.5 より前に JDK 1.4 を検出してしまうことがあります。 | 
| 6321117 | マルチブローカクラスタの初期化で java.lang.NullPointerException が発生します。 | 
| 6330053 | サブスクライバからトランザクションをコミットしている場合、JMS クライアントで java.lang.NoClassDefFoundError が発生します。 | 
| 6340250 | C-API で MESSAGE タイプをサポート。 | 
| 6351293 | Apache Derby データベースへのサポートを追加。 |