Solaris 9 12/03 发行说明

Sun ONE Application Server 错误

缺省浏览器与 Sun ONE Application Server 7 不兼容 (4741123)

通过 Solaris 9 12/03 软件的缺省浏览器尝试使用 Sun ONE Application Server Administrative UI 时,会显示以下错误消息:


不支持浏览器: Netscape 4.78

建议将浏览器升级到 Netscape 4.79 或 Netscape 6.2 (或更高版本)来运行 
Sun One Application Server Administrative UI。如果不升级并继续进行操作,
可能会导致性能降低或发生不可预知的结果。

注意:

如果您运行的是 Solaris 9 12/03 发行版中的 Sun ONE Application Server Administrative UI 版本,则需要使用 Netscape 4.79 或 Netscape 7.0 软件。


解决方法:使用 /usr/dt/appconfig/SUNWns/netscape,而不使用 /usr/dt/bin/netscape

某些 Netscape Navigator 软件版本不支持编辑存取控制列表 (4750616)

某些 NavigatorTM 软件版本不支持编辑 Sun ONE Application Server 存取控制列表 (ACL)。 如果在使用 Netscape Navigator 6.x 或 Netscape Navigator 7.x 版本软件时试图编辑 ACL 项,则可能会遇到间断性问题。

可能发生的几类问题包括:

解决方法:请选择以下解决方法之一:

使用 Oracle 9.2 客户端访问 Oracle 9.1 数据库可能会导致数据被破坏 (4707531)

使用 Oracle® 9.2 客户端访问 Oracle 9.1 数据库时,如果数字列出现在时间戳列的后面,可能会导致数据被破坏。

这可能是由于使用 ojdbc14.jar 文件访问 Oracle 9.1 数据库造成的。 应用修补程序可能有助于解决 32 位 Solaris 机器(运行 Oracle 9.1 数据库)上的此类问题。 这种适用于 Oracle 的 JDBCTM 驱动程序在 JDKTM 1.4 上运行。

解决方法:从 Oracle 的 Web 站点下载用于错误 2199718 的修补程序并将其应用到服务器中。

当查看从命令行创建的 Persistence Manager Factory 资源时,管理界面报告检验器错误 (4733109)

使用命令行界面创建 Persistence Manager Factory 资源时报告检验器错误。 在 Sun ONE Application Server 管理界面中查看资源时,会显示以下错误:


ArgChecker 失败: jndiName 验证失败: 对象必须非空

解决方法:按照以下步骤创建新的 Persistence Management Factory 资源:

  1. 使用数据源信息创建 jdbc 连接池,以连接到数据库。

  2. 通过 Java Naming and Directory InterfaceTM (J.N.D.I.) 查找创建 jdbc 资源,使连接池可用。

  3. 使用第 2 步创建的 jdbc 资源来创建持久性资源管理。

server.xml 文件中 iiop-listener 元素的地址属性不支持 any 值 (4743366)

server.xml 文件中 iiop-listener 元素的地址属性中的 any 值允许侦听系统上所有可用的接口, 此支持包括 IPv4 和 IPv6 接口。 但是,Sun ONE Application Server 缺省配置在 iiop-listener 元素中使用 0.0.0.0 地址值。 此缺省配置不侦听 IPv6 接口, 只侦听系统上所有的 IPv4 接口。

解决方法:server.xml 文件 iiop-listener 元素的地址属性中使用 :: 值来侦听系统上的所有 IPv4 和 IPv6 接口。

转换到启用 SSL 的环境时,Application Server 无法重新启动 (4723776)

如果在安装证书并启用安全设置后重新启动 Sun ONE Application Server,重新启动将失败。 将显示一条消息,说明服务器无法接收口令。

如果未启用安全套接字层 (SSL) ,未缓存口令,将导致重新启动失败。 重新启动命令不支持从非 SSL 模式到启用 SSL 模式的切换。


注意:

这个问题只在服务器首次重新启动时发生, 以后的重新启动则恢复正常。


解决方法:请选择以下解决方法之一:

Application Server 在动态重新装入过程中可能会崩溃 (4750461)

如果应用程序有许多 Enterprise JavaBeansTM 组件,服务器在动态重新装入应用程序的过程中可能会崩溃。 动态重新装入功能用于在开发环境中对应用程序的微小更改进行快速测试。 此崩溃是由于试图使用过多的文件描述符造成的。

解决方法: 请执行以下操作:

  1. 按以下格式向 /etc/system 文件添加行,增加文件描述符的限制值。

    • set rlim_fd_max=8192

    • set rlim_fd_cur=2048

    根据应用程序的大小,可以适当地调整限制值。

  2. 重新引导系统。

管理界面别名列表中不显示外部证书昵称 (4725473)

如果通过 Sun ONE Application 管理界面安装外部证书, 则当您试图使用安装在外部加密模块上的证书为 http 侦听程序启用 SSL 时,会遇到问题。 尽管能够成功安装证书,但证书昵称并不显示在管理界面中。

解决方法:请执行以下操作:

  1. 以管理员用户身份登录到安装有 Sun ONE Application Server 软件的系统中。

  2. 使用 asadmin 命令将 http 侦听程序链接到安装在外部加密模块上的证书。 有关 asadmin 命令的详细信息,请参见 asadmin(1AS) 手册页。


    # asadmin create-ssl --user admin user--password password --host host name \
    --port port --type http-listener --certname nobody@apprealm:Server-Cert \
    --instance instance --ssl3enabled=true \
    --ssl3tlsciphers +rsa_rc4_128_md5 http-listener-1

    以上命令在证书与服务器实例之间建立了链接, 但该命令并不安装证书, 证书是通过管理界面安装的。


    注意:

    尽管已将证书和 http 侦听程序链接起来,但 http 侦听程序只在非 SSL 模式中进行侦听。


  3. 启用 http 侦听程序在 SSL 模式中进行侦听。 使用以下命令:


    # asadmin set --user admin user --password password --host host name \
    --port port server1.http-listener.http-listener-1.securityEnabled=true

    以上命令将服务器实例的侦听状态从非 SSL 切换到 SSL。 执行完以上操作后,证书将显示在管理界面中。

现在您可以根据需要使用管理界面来编辑 http 侦听程序。

flexanlg 命令可能导致打开失败错误 (4742993)

如果在 Solaris 9 12/03 发行版中运行 Sun ONE Application Server 软件, 并使用 /usr/appserver/bin 中的 flexanlg 命令,则会显示以下打开失败错误:


ld.so.1: /usr/appserver/bin/flexanlg: 致命: libplc4.so: 打开失败:
文件不存在或目录已被删除

解决方法:请执行以下操作:

  1. 将以下项添加到 LD_LIBRARY_PATH 文件中:

    /usr/lib/mps

  2. 运行 flexanlg 命令。

    % /usr/appserver/bin/flexanlg

仅支持 IPv6 的客户机无法连接到 Application Server (4742559)


注意:

如果您的网络中未使用 IPv6,则不会出现这个问题。


缺省情况下,Sun ONE Application Server 7 实例和 Admin Server 实例使用 IPv4。所有能运行 Sun ONE Application Server 的系统软件都支持 IPv4。 对于支持 IPv6 的平台,为了保持一致性,需要更改 Sun ONE Application Server 的配置。


注意:

如果要更改这些配置,您必须确保系统支持 IPv6。 如果将 IPv6 相关的配置应用到仅支持 IPv4 的系统,Application Server 实例可能无法启动。


解决方法:请执行以下配置更改:

  1. 启动管理服务器。

  2. 通过在浏览器中连接到管理服务器 HTTP 主机或端口,来启动管理控制台。

  3. 选择要配置 IPv6 的服务器实例,例如 server1。

  4. 在树视图中扩展 HTTP 侦听程序节点。

  5. 选择要配置 IPv6 的 HTTP 侦听程序,例如 http-listener1。

  6. 在“General”节中,将“IP Address”字段的值更改为 ANY

  7. 在“Advanced”节中,将“Family”字段的值更改为 INET6

    将“Family”字段设置为 INET6 不会禁用 IPv4 功能,除非选定一个 IPv6 地址作为 IP 地址。 如果 IP 地址设置为 ANY,则匹配所有的 IPv4 和 IPv6 地址。

  8. 单击“保存”。

  9. 从左侧的面板中选择您的服务器实例。

  10. 单击“应用更改”。

  11. 单击“停止”。

  12. 单击“启动”。

    服务器将重新启动并实现您所做的更改。

修改的样例直到重新部署后才被更新 (4726161)

如果在进行小的更改并重新封装应用程序后试图多次部署样例,将显示以下错误消息:


已经部署

此问题影响到大多数样例,因为这些样例都使用 Ant 公用程序和 common.xml 文件,而它们都具有 deploy 目标。 这种组合用法混淆了应用程序部署和资源注册。

解决方法:请选择以下解决方法之一:

非零事务设置导致本地事务处理速度降低 (4700241)

本地事务管理器不支持具有非零的超时值设置的事务。 如果将事务服务元素中的超时秒数属性设置为大于 0 的值,则所有本地事务都被作为全局事务处理。 超时值为 0 意味着如果事务管理器未收到参与的数据源返回的信息,事务管理器将一直等待。


注意:

如果数据源驱动程序不支持全局事务,本地事务可能会失败。


解决方法:将超时秒数复位为缺省值 0。

无法启动 Oracle JDBC 驱动程序优化 (4732684)

要通过容器管理持久性 (CMP) bean 利用 Oracle JDBC 优化,必须在 server.xml 文件的 classpath-suffix 属性中指定 classes12.zip 文件。 不要将 classes12.zip 文件放置在 instance/lib/ 目录(第三方库的缺省目录)中。

解决方法:classes12.zip 文件添加到 server.xml 文件的 classpath-suffix 属性中。

由于 DNS 地址查找 IPv6 地址失败,RMI-IIOP 客户机不能使用 IPv6 地址 (4743419)

如果 DNS 查找 IPv6 地址失败,则远程方法调用因特网 Inter-ORB 协议 (RMI-IIOP) 的客户机将不能使用 IPv6 地址。

解决方法:应该在部署站点设置 DNS,以便查找 IPv6 地址。