本节介绍已知的管理问题和相应的解决方法。
使用“安装期间自动配置”选项安装 Application Server 时,不支持负载平衡器功能。
解决方法: 可以在 Application Server 安装完成以后配置负载平衡器功能。
要配置负载平衡器功能,需要在系统中安装 Application Server 和 Web Server。
要配置负载平衡器功能,请执行以下步骤:
在注册表 HKEY_LOCAL_MACHINE -> Sun Microsystem -> EntSys -> Installer -> Application Server 中,将 IS_LB 的值设置为 true,将 Cfgr_LB 的值设置为 false。
转换至 setup 目录。
cd JavaES-Install-Dir\setup\
|
运行 ASConfigure.bat 批处理文件。
按照说明进行操作并提供适当的值。
对于 AS_LB 插件,键入 Sun Java System Web Server [Mandatory],因为这是 Java ES 5 下唯一支持的插件。
重新引导系统。
默认情况下,由 asenv.conf 指向的 domain1 的 AS_ACC_CONFIG 变量的硬编码值位于 JavaES-Install-Dir \lib\lib\package-appclient.xml 中。如果删除 domain1 并创建新域,将不会用新域名更新 AS_ACC_CONFIG 变量,从而导致 package-appclient 脚本失败。
执行以下操作之一:
保持 domain1 不变,围绕它创建其他域。
删除 domain1 并用新域名替换 JavaES-Install-Dir \lib\lib\package-appclient.xml 中用于 domain1 的硬编码值。如果 domain1 不存在,每次创建新域时请重复此步骤。
如果在已安装负载平衡器插件的 Application Server 版本(例如 7.1EE)上安装负载平衡插件,则 8.2EE 插件将无提示替换任何现有负载平衡器(即使已创建可在其中运行此插件的新服务器实例)。
默认情况下,插件文件将安装在 install_dir/plugins/lbplugin 目录下,这表示每个版本的 Application Server 仅可以使用一个版本的插件。请注意,控制台安装程序会显示消息,表明将进行卸载,但此消息容易被忽略。
并非任何用户都会遇到此问题。如果遇到此问题,请删除旧的 Application Server 版本并进行新安装而非升级安装。
与 Application Server 7 及其兼容版本相比,对 Application Server 8.2 中的 asadmin 命令进行了某些修改。例如, 对 Application Server 7 及其兼容版本来说,启动服务器实例的命令如下:
asadmin start-instance |
在 8.2 版本中,相应的命令如下:
asadmin start-domain --user admin domain1 |
有关最新的 asadmin 命令语法的完整信息,请参阅以下文档:
《Sun Java System Application Server Enterprise Edition 8.2 管理指南》
《Sun Java System Application Server Enterprise Edition 8.2 Reference Manual》
《Sun Java System Application Server Enterprise Edition 8.2 Upgrade and Migration Guide》
由于默认端口已更改,从 Java ES 2 Application Server 7 及其兼容版本向 Java ES 5 Application Server 8.2 升级时,可能会发生不兼容或错误。
无法使用 backup-domain 和 restore-domain 命令镜像同一 Application Server 安装上的域,这是由于使用不同于原始名称的其他名称不能恢复域,即使 asadmin restore-domain 命令提供了重命名域的选项。重命名备份域似乎已经成功,但尝试启动重命名的域却会失败,因为没有更改域配置中的条目,并且 startserv 和 stopserv 仍然使用原始域名来设置路径。
用于 restore-domain 的域名必须与用于原始 backup-domain 命令的域名相同。Application Server 8.2 中的 backup-domain 和 restore-domain 命令仅用于在同一台计算机上备份和恢复同一个域。
可以在 Application Server 上配置 J2SE 1.4.、5.0 及其兼容版本。J2SE 5.0 平台的完整功能是可以启动 JMX 代理。在服务器启动时,如果您明确设置了系统属性,此代理将被激活。
示例值包括以下内容:
name="com.sun.management.jmxremote" value="true" name="com.sun.management.jmxremote.port" value="9999" name="com.sun.management.jmxremote.authenticate" value="false" name="com.sun.management.jmxremote.ssl" value="false"
在配置了 JMX 属性并启动服务器之后,将在 Application Server VM 中启动新的 jmx-connector 服务器。此过程的副作用是会对管理功能造成不利影响,并且 Application Server 管理 GUI 和 CLI 可能会产生异常结果。之所以出现这样的结果,是因为内置 jmx-connector 服务器与新的 jmx-connector 服务器之间存在一些冲突。
如果使用 jconsole(或任何其他 JMX 兼容客户机),请考虑重新使用标准的 JMX Connector Server,它在 Application Server 启动时启动。
服务器启动时,在 server.log 中将出现一行文字,与下一段落中所显示的文字类似。您可以连接到其中指定的 JMXServiceURL,并在成功提供证书后执行相同的管理和配置操作,例如:
[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1|javax.enterprise. system.tools.admin|_ThreadID=10;|ADM1501: Here is the JMXServiceURL for the JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://hostname:8686/management/ rmi-jmx-connector]. This is where the remote administrative clients should connect using the JSR 160 JMX Connectors.|#]
有关更多信息,请参阅《Sun Java System Application Server 8.2 Administration Guide》。
如果某个应用程序具有可导出 Web 服务 URL 的 EJB 模块,则在用该应用程序设置负载平衡器配置时,Web 服务环境中的超级用户不会包含在结果文件 loadbalancer.xml 中。
编辑 loadbalancer.xml 文件,按如下所示添加缺少的 Web 模块:
<web-module context-root="context-root-name" disable-timeout-in-minutes="30" enabled="true"/> |
用作为 EJB 提供的 Web 服务环境中的超级用户名称替换 context-root-name 的值。
Application Server 域和服务器未使用由相关配置的 java-config 元素的 java-home 属性指向的 JDK。
对于安装的给定服务器,appserver-installation-dir/config/asenv.conf 文件确定了 Application Server 进程针对所有域使用的 JDK 。该文件中的属性 AS_JAVA 确定了所使用的 JDK,此属性是在安装时设置的。如果安装完成后,Application Server 进程使用的是其他 JDK,则可以将该值改为指向所需的 JDK。请注意,安装的此服务器中的所有域均受此更改影响。
不会检查对 asenv.conf 文件手动更改的有效性,因此在更改时要小心。修改 AS_JAVA 的值时,请检查产品文档以了解最低的 JDK 版本要求。
此问题由错误的 %CONFIG_HOME% 值引起。
将现有 asant 重命名为 asant.bak。
将as_install/lib/install/templates/ee(适用于 SE 或 EE 版本)中的 asant.template 文件复制到 as_install/bin/ 目录中,并将其重命名为 asant。
编辑新复制的 as_install/bin/asant 文件,用 as_install/config 替换 %CONFIG_HOME% 标记。
如果对原始 asant.bak 文件进行了任何手动更改,请将其并入新的 asant 文件。
如果服务器管理员的 home 目录中不包含此文件,在升级该服务器上的某些应用程序时可能会出现严重错误。
如果可能,应该由安装服务器的用户运行 asadmin start-domain domain1 命令。
如果此命令不是由该用户运行的,应将 .asadmintruststore 从安装用户的 home 目录移动或复制到运行用户的 home 目录中。
请注意,如果将该文件从安装用户的 home 目录移动(而非复制)到运行用户的 home 目录,可能会出现错误 6309079、6310428 和 6312869 所述的应用程序升级问题。出现这些问题的原因是升级或安装用户的 home 目录中不再具有 .asadminstruststore 文件。
域的主密码包含百分比 (%) 字符时,域无法启动。
域的主密码不应包含百分比字符 (%)。创建新域或更改现有域的主密码时适用此解决方法。
创建安全的 http-listener 并安装 lbplugin 后,将修改 webserver_instance_dir/config 目录下的 magnus.conf 和 obj.conf 文件,并删除 lbplugin 的内容。
安装程序修改了 Application Server 上的 magnus.conf 和 obj.conf 配置文件,这些文件是负载平衡器安装程序插件的一部分。如果登录到 Application Server 管理控制台,并尝试为已安装负载平衡器的实例管理实例配置,则 Application Server 将发布警告消息,报告已检测到在配置中进行了手动编辑。事实上,此警告是指安装程序所做的更改。
验证安装程序所做的更改是否被覆写。