通过 Solaris 9 12/02 操作环境的缺省浏览器使用 Sun ONE Application Server 管理 UI 时,会显示以下错误信息:
不支持浏览器:Netscape 4.78 建议将浏览器升级到 Netscape 4.79 或 Netscape 6.2 (或更高版本) 来运行 Sun One Application Server 管理 UI。如果不升级并继续进行 操作,将导致性能降低或发生不可预知的结果。 |
解决方法:使用 /usr/dt/bin/netscape6,而不要使用 /usr/dt/bin/netscape。
某些 Netscape NavigatorTM 版本不支持编辑 Sun ONE Application Server 存取控制列表 (ACL)。如果在使用 Netscape Navigator 6.x 或 Netscape Navigator 7.x 版本时试图编辑 ACL 条目,则可能偶尔会遇到失效问题。
例如:
浏览器窗口消失。
启动时不显示 ACL 编辑屏幕。
解决方法:选择以下解决方法之一。
使用受支持的 Netscape Navigator 4.79 版或 Microsoft Internet Explorer 6.0 版。
手动编辑 ACL 文件。有关 ACL 文件格式化的详细信息,请参见《Sun ONE Application Server 7, Standard Edition Administrator's Guide》。
使用 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 资源时报告检验器错误。在 Sun ONE Application Server 管理界面中查看资源时,会显示以下错误。
ArgChecker 失败:jndiName 验证失败,对象必须非空 |
解决方法:按照以下步骤创建新的 Persistence Management Factory 资源。
使用数据源信息创建 jdbc 连接池,连接到数据库。
通过 Java Naming and Directory InterfaceTM (J.N.D.I.) 查找创建 jdbc 资源,使连接池可用。
使用第 2 步创建的 jdbc 资源来创建持久性管理资源。
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 接口。
如果在安装认证并启用安全设置后重新启动 Sun ONE Application Server,重新启动将失败。将显示一条信息,说明服务器无法接收口令。
如果不启用 SSL,口令将不被缓存,这会导致重新启动失败。restart 命令不支持从非 SSL 模式到启用 SSL 模式的切换。
这个问题只在服务器首次重新启动时发生,以后的重新启动则恢复正常。
解决方法:选择以下解决方法之一。
如果应用程序有许多 Enterprise JavaBeansTM 组件,服务器在动态重新装入应用程序的过程中可能会崩溃。动态重新装入功能用于在开发环境中对应用程序的小更改进行快速测试。此崩溃是由于试图使用过多的文件描述符造成的。
解决方法:按照以下步骤执行操作。
按以下格式向 /etc/system 文件添加行,加大文件描述符的限制值。
set rlim_fd_max=8192
set rlim_fd_cur=2048
可以将限制值设置得高些或低些,这取决于应用程序的大小。
重新引导系统。
如果系统的缺省编码不是 UTF-8,则在 Application Server 的输出中,多字节字符的显示可能不正确。
解决方法:在浏览器中打开 server.log 文件。
如果通过 Sun ONE Application 管理界面安装外部认证,则当您试图使用安装在外部加密模块上的认证为 http 收听者启用 SSL 时,会遇到问题。尽管能够成功安装认证,但认证别称并不显示在管理界面中。
解决方法:按照以下步骤执行操作。
以管理员用户身份登录到安装有 Sun ONE Application Server 软件的系统中。
使用 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 模式中进行收听。
启用 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 收听者。
如果在 Solaris 9 12/02 操作环境中运行 Sun ONE Application Server 软件,并使用 /usr/appserver/bin 中的 flexanlg 命令,则会显示打开失败错误。
ld.so.1:/usr/appserver/bin/flexanlg:严重:libplc4.so:打开失败: 文件不存在或目录已被删除 |
解决方法:按照以下步骤执行操作。
将下面的条目添加到 LD_LIBRARY_PATH 文件中。
/usr/lib/mps
运行 flexanlg 命令。
% /usr/appserver/bin/flexanlg
如果您的网络中未使用 IPv6,则不会出现这个问题。
缺省情况下,Sun ONE Application Server 7 实例和 Admin Server 实例使用 IPv4。所有能运行 Sun ONE Application Server 的操作环境都支持 IPv4。对于支持 IPv6 的平台,为了保持一致性,需要更改 Sun ONE Application Server 的配置。
如果要更改这些配置,您必须确保系统支持 IPv6。如果将 IPv6 相关的配置应用到仅支持 IPv4 的系统,Application Server 实例可能无法启动。
解决方法:执行以下配置更改:
启动管理服务器。
通过在浏览器中连接到管理服务器 HTTP 主机或端口,来启动管理控制台。
选择要配置 IPv6 的服务器实例,例如 server1。
在树视图中扩展 HTTP 收听者节点。
选择要配置 IPv6 的 HTTP 收听者,例如 http-listener1。
在“General”节中,将“IP Address”字段的值更改为 ANY。
在“Advanced”节中,将“Family”字段的值更改为 INET6。
将“Family”字段设置为 INET6 不会禁用 IPv4 功能,除非选定一个 IPv6 地址作为 IP 地址。如果 IP 地址设置为 ANY,则匹配所有的 IPv4 和 IPv6 地址。
单击“Save”。
从左侧的面板选择您的服务器实例。
单击“Apply Changes”。
单击“Stop”。
单击“Start”。
服务器将重新启动并实现您所做的更改。
如果在进行小更改并重新封装应用程序后试图多次部署样例,将显示以下错误信息。
已经部署 |
这个问题影响到大多数样例,因为这些样例都使用 Ant 公用程序和 common.xml 文件,而它们都具有 deploy 目标。因此,这种组合用法将应用程序的部署与资源的登记混合起来。
解决方法:选择以下解决方法之一。
对于大多数使用 Ant 公用程序 build.xml 文件并包括 common.xml 文件的样例应用程序,键入以下命令:
% asant deploy_common |
对于所有其它样例应用程序,键入以下命令:
% asant undeploy % asant deploy |
本地事务管理器不支持具有非零的超时值设置的事务。如果将事务服务元素中的超时秒数属性设置为大于 0 的值,则所有本地事务都被作为全局事务处理。超时值为 0 意味着如果事务管理器未收到参与的数据源返回的信息,事务管理器将一直等待。
如果数据源驱动程序不支持全局事务,本地事务可能失败。
解决方法:将超时秒数复位为缺省值 0。
要通过容器管理持久性 (CMP) bean 利用 Oracle JDBC 优化,必须在 server.xml 文件的 classpath-suffix 属性中指定 classes12.zip 文件。请勿将 classes12.zip 文件放置在 instance/lib/ 目录(第三方库的缺省目录)中。
解决方法:将 classes12.zip 文件添加到 server.xml 文件的 classpath-suffix 属性中。
如果管理服务器从属于根用户,而服务器实例从属于非根用户,则在动态重新装入和调用应用程序的过程中可能会发生访问权限问题。
解决方法:在部署和重新部署模块或应用程序(具有或不具有预编译选项)之后,将以下目录的拥有者从根用户更改为非根用户,非根用户与实例的拥有者相同。
根据应用程序的类型,目录拥有权的更改应该递归应用到以下列表中的各个目录:
domain-root/server-instance /applications/j2ee-apps/application-name
domain-root/server-instance /applications/j2ee-modules/module-name
domain-root/server-instance /generated/ejb/j2ee-apps/application-name
domain-root/server-instance /generated/jsp/j2ee-apps/application-name
domain-root/server-instance /generated/jsp/j2ee-modules/module-name
成为超级用户。
根据实际情况,对每个目录键入以下命令。
# chown -R non-root-instance-owner directory-name |
如果 DNS 查找 IPv6 地址失败,则远程方法调用因特网 Inter-ORB 协议 (RMI-IIOP) 的客户机不能使用 IPv6 地址。
解决方法:应该在部署站点中设置域名服务 (DNS),以便查找 IPv6 地址。
如果用户在 Only show entries with 字段中键入多字节字符并查找事件日志,则显示查找结果时 Only show entries with 字段中的值被破坏。这是由于信息格式从 UTF-16 转换到 UTF-8 造成的。
解决方法:无。