Sun GlassFish Communications Server 2.0 发行说明

Message Queue

本节介绍已知的 Java Message Queue 问题和相应的解决方法。

在某些与时间相关的情况下,JMS 重新连接无法成功完成(6173308、6189645、6198481、6199510、6208728)

说明

多种问题均可导致在与时间相关的情况下重新连接失败。

解决方法

可以通过以下方法解决这些问题:

如果 MQ 代理未启动,服务器就不会启动 (6740797)

说明

在将 JMS 配置为 REMOTE 的情况下,如果 MQ 代理未启动,Enterprise Server 将无法启动。

解决方法

按以下方式设置以下 JVM 选项:com.sun.enterprise.jms.CONNECT_MQ_LAZILY=true。设置此 JVM 选项后,如果 MQ 代理未启动,您可以启动 Communications Server。不过,建议您在启动服务器之前启动 MQ。

在 Linux 上,MQ 代理无法与群集配置文件一起启动 (6524871)

说明

在 Linux 系统上,创建具有群集配置文件的域之后,可能会遇到 java.lang.OutOfMemoryError: heap space 错误,并且服务器实例可能会因为 MQ 代理未启动而无法重新启动。出现此情况之后,系统便永不会恢复。问题在于 /etc/hosts 文件配置错误;具体而言,服务器主机名称正在指向回送地址 127.0.0.1

解决方法

按照设计,MQ 代理群集无法在网络设备配置为指向回送地址的情况下启动。这不是错误。解决方法是确保 Communications Server 主机的 /etc/hosts 文件不指向 127.0.0.1

在升级之前加载 imqjmsra.jar 会导致新旧类不匹配 (6740794)

说明

在 Application Server 启动期间,服务器会检查 Message Queue 版本。如果 Message Queue 版本不正确,则服务器将使用 imqjmsra.jar 进行升级。Application Server 只有在下一次重新启动后才能使用该升级 JAR 及其类。只有在单独升级 Message Queue 或单独修补应用服务器时,才会出现该情况。该情况有时会导致 Application Server 无法启动。

解决方法

需要在同一修补级别维护 Message Queue 和 Application Server,或重新启动 Application Server。