Message Queue 4.4 包含新的错误修复程序,并且还包含在 Message Queue 4.x 系列以前的发行版中修复的错误。
以下各部分列出了在相应发行版中修复的错误:
下表介绍了 Message Queue 4.4 中修复的错误。
表 1–7 Message Queue 4.4 中修复的错误| 错误 | 描述 | 
|---|---|
| 6242247 | 如果同一计算机上的两个代理具有相同的名称,则 MQ 群集的主代理在启动后会挂起 | 
| 6760937 | 重新启动代理时,代理不会重新连接到数据库 | 
| 6765410 | 当长期订阅已处于活动状态时,主代理发送本地 Interest 2 次会导致从代理出现异常 | 
| 6796506 | 如果在接收远程 PREPARE 回复时超时,则远程 PREPARED 消息在回滚后不会重新传送 | 
| 6821639 | 在 MQRA-DIRECT 模式下恢复应用服务器事务期间,回滚/提交事务出现 Null 指针异常 | 
| 6836364 | 如果通配符订阅者的主题是在订阅之前创建的,则该订阅者不接收远程消息 | 
| 6836749 | HA(JCAPS):在回滚某个长期订阅并提交消息后,接收消息时出现存储库中已存在确认异常 | 
| 6858905 | Consumer.destroyConsumer 中出现 ConcurrentModificationException 异常 | 
下表介绍了 Message Queue 4.3 中修复的错误。
表 1–8 Message Queue 4.3 中修复的错误| 错误 | 描述 | 
|---|---|
| 6634033 | 创建客户端时,群集协议没有将 imqConsumerFlowLimit 的值传递到远程代理。 | 
| 6713012 | 如果在远程代理重新启动时,群集中某个代理的使用方被销毁,则将不传送某些消息。 | 
| 6727555 | 代理日志消息 "Max bytes per msg exceeded"(超过每条消息的最大大小(字节))将实际的消息大小和每条消息的最大大小(字节)值进行了互换。 | 
| 6737404 | JMX 度量需要提供从目的地(主题和队列)分发但要传送给使用方的消息计数。 | 
| 6740568 | 当单个事务中使用的消息过多时,代理抛出异常。 | 
| 6758524 | 列出长期订阅的命令 (imqcmd list dur -d "foo.*") 不接受目的地名称中的通配符。 | 
| 6758952 | 设置 imq.portmapper.hostname=localhost 导致多个代理无法连接到一个群集中。 | 
| 6758817 | 设置 imq.cluster.hostname=localhost(不建议使用)导致不同计算机上的代理无法连接到一个群集中。 | 
下表介绍了 Message Queue 4.2 中修复的错误。
表 1–9 Message Queue 4.2 中修复的错误| 错误 | 描述 | 
|---|---|
| 6581592 | 在文本模式下运行安装程序 (installer –t) 或卸载程序时,“摘要”屏幕将显示包含日志/摘要文件的目录,但不会列出这些文件的名称。 | 
| 6585911 | 安装程序的“JDK 选择”屏幕未正确包含与安装程序捆绑在一起并用于运行安装程序的 JRE。 | 
| 6587112 | 在多字节语言环境中,安装程序“摘要”屏幕显示乱码。 | 
| 6587127 | 在通过引用应答文件以运行安装程序 (installer -a filename -s) 时,如果该应答文件不存在,则错误消息不一致且含混不清。 | 
| 6590969 | 在客户端连接验证中允许使用 DN 用户名格式。 | 
| 6594381 | 如果系统上存在 Message Queue 本地化 RPM 的旧版本,Message Queue 4.1 本地化 RPM 安装(通过在“多语言软件包”屏幕上选中“安装 Message Queue 多语言软件包”复选框来执行此操作)将会失败。 | 
| 6599144 | 在 Java SE 6 上卸载 Message Queue 4.2 时,闪屏和卸载程序将挂起,并且显示灰色空白屏幕,但在 Java SE 5 上,则可以正常工作。 | 
| 6615741 | 如果回滚在使用方事务会话中传送的消息,并且在回滚之前关闭了原始使用方,则不会重新传送这些消息。 | 
| 6629922 | 分布式事务处理程序未按正确的顺序将消息重新传送到非活动使用方。 | 
| 6635130 | 代理在由于目的地已达到内存限制或消息限制而暂停后,不能通知非持久性消息的生成方恢复生成操作。 | 
| 6641117 | 如果回滚在使用方事务会话中传送的消息,并且在回滚之后关闭了原始使用方,则不会重新传送这些消息。 | 
| 6683897 | 尽管配置显示已成功完成,但 Message Queue 安装程序的“摘要”屏幕却报告以下配置错误:在某些计算机上,安装程序无法写入 /dev/sterr。 | 
| 6684069 | 对于在使用方事务中将大量消息传送到远程客户端的代理群集,无法提交事务。 | 
| 6688935 | 端口映射器读取超时的默认值太小。 | 
| 6695238 | 如果代理的安装路径中包含空格,C 客户端应用程序将无法连接到该代理。 | 
| 6710168 | 如果目的地暂停两次并且在两次暂停之间未进行恢复,使用方将不再使用消息。 | 
| 6710169 | JMX 操作 ConsumerManagerMonitor.getConsumerInfo 始终为确认模式返回 SESSION_TRANSACTED。 | 
下表介绍了 Message Queue 4.1 中修复的错误。
表 1–10 Message Queue 4.1 中修复的错误| 错误 | 描述 | 
|---|---|
| 6381703 | 如果传送消息的代理重新启动,则可能会两次提交处理的远程消息。 | 
| 6388049 | 无法清除未完成的分布式事务。 | 
| 6401169 | imqcmd 的提交和回滚选项不提示进行确认。 | 
| 6473052 | 自动创建的队列的默认设置应该为循环传送。(MaxNumberConsumers = -1)。 | 
| 6474990 | 代理日志显示 imqcmd list dst 命令发生了 ConcurrentModificationException。 | 
| 6487413 | 限制行为是 REMOVE_OLDEST 或 REMOVE_LOWER_PRIORITY 时发生内存泄漏。 | 
| 6488340 | 代理自旋,并且客户端等待确认回复。 | 
| 6502744 | 代理不遵循停用消息队列具有 1000 个消息的默认限制。 | 
| 6517341 | 当客户端连接到增强的代理群集时,客户端运行时环境需要改进重新连接逻辑,以便允许客户端重新连接,而无论 imqReconnectEnabled 属性值是什么。 | 
| 6528736 | Windows 自动启动服务 (imqbrokersvc) 在启动过程中崩溃。 | 
| 6561494 | 当两个使用方共享一个会话时,消息将传送到错误的使用方。 | 
| 6567439 | 如果在代理重新启动后提交 PREPARED 事务中生成的消息,这些消息的传送顺序就会不正确。 | 
下表介绍了 Message Queue 4.0 中修复的错误。
表 1–11 Message Queue 4.0 中修复的错误| 错误号 | 描述 | 
|---|---|
| 4986481 | 在 Message Queue 3.5 中调用 Session.recover 时,可能会在自动重新连接模式下挂起。 | 
| 4987325 | 在调用 Session.recover 后,将重新传送的消息的 Redelivered 标志设置为 false。 | 
| 6157073 | 将新连接消息更改为既包含总连接数,也包含服务上的连接数。 | 
| 6193884 | 在使用非 ASCII 字符显示消息的语言环境中,Message Queue 向系统日志输出垃圾消息。 | 
| 6196233 | 无法使用 JMSMessageID 选择消息。 | 
| 6251450 | 在群集关闭过程中,connectList 出现 ConcurrentModificationException。 | 
| 6252763 | java.nio.HeapByteBuffer.putLong/Int 出现 java.nio.BufferOverflowException。 | 
| 6260076 | 使用 Oracle 存储库,在代理启动后的第一条消息发布完后,消息发布速度变得很慢。 | 
| 6260814 | 对 JMSXUserID 进行处理的选择器始终得到 false 值。 | 
| 6264003 | 队列浏览器显示属于尚未提交的事务的消息。 | 
| 6271876 | 关闭具有未使用消息的使用方时,连接流控制无法正常工作。 | 
| 6279833 | Message Queue 不允许两个代理使用相同的 JDBC 表。 | 
| 6293053 | 除非清除存储库中的内容(使用 —reset store),否则当系统的 IP 地址更改时,主代理将无法正确启动。 | 
| 6294767 | Message Queue 代理需要在其打开的网络套接字上设置 SO_REUSEADDR。 | 
| 6304949 | 无法设置 TopicConnectionFactory 的 ClientID 属性。 | 
| 6307056 | txn 日志成为性能瓶颈。 | 
| 6320138 | Message Queue C API 无法确定回复标头中的队列名称。 | 
| 6320325 | 即使在 Solaris 上同时安装了 JDK 1.4 和 JDK 1.5,代理有时也会选取前者。 | 
| 6321117 | 多代理群集初始化抛出 java.lang.NullPointerException。 | 
| 6330053 | 从订户提交事务时,JMS 客户端抛出 java.lang.NoClassDefFoundError。 | 
| 6340250 | 支持 C-API 中的 MESSAGE 类型。 | 
| 6351293 | 添加对 Apache Derby 数据库的支持。 |