Sun Java System Application Server Platform Edition 8.2 发行说明

管理

如果不存在 domain1,则 package-appclient 脚本将不起作用。(ID 6171458)

默认情况下,在 $INSTALL/lib/package-appclient.xml 中有一个用于 domain1(由 asenv.conf 来指向)的 AS_ACC_CONFIG 变量的硬编码值。如果删除 domain1 并创建新域,将不会使用新域名更新 AS_ACC_CONFIG 变量,从而导致 package-appclient 脚本失败。

解决方法

执行以下操作之一:

无法恢复具有其他名称的备份域。(ID 6196993)

无法使用 backup-domainrestore-domain 命令对安装的同一 Application Server 上的域进行镜像,这是由于使用不同于原始名称的其他名称不能恢复域,即使 asadmin restore-domain 命令提供了重命名域的选项。重命名备份域似乎已成功,但尝试启动重命名的域时却会失败,原因是域配置中的条目并没有更改,并且 startservstopserv 仍然使用原始域名来设置路径。

解决方法

用于 restore-domain 的域名必须与用于原始 backup-domain 命令的域名相同。Application Server 8.2 中的 backup-domainrestore-domain 命令仅用于在同一台计算机上备份和恢复同一个域。

不支持启动带有附加 JMX 代理的 Application Server。(ID 6200011)

可以在 Application Server 上配置 J2SE 1.4.x, 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 模块是任一虚拟服务器的默认 Web 模块,则无法对其进行重新部署或取消其部署。(ID 6204799)

如果将 Web 模块指定为虚拟服务器的默认 Web 模块,并试图对其进行重新部署或取消其部署,则将会收到以下错误消息:

Trying to undeploy application from domain failed; Virtual Servers [server] 
have <WEB-MODULE-NAME\> as default web module. Please remove the default web
module references first. ; requested operation cannot be completed Virtual 
Servers [server] have <WEB-MODULE-NAME\> as default web module. Please
remove the default web module references first.

此时,domain.xml 处于错误状态,管理控制台可能会无法显示已部署的 Web 应用程序表。即使停止并再次启动域,仍将出现这种情况。

解决方法

更改默认 Web 模块。

Procedure更改默认 Web 模块

步骤
  1. 使用管理控制台,转至虚拟服务器页面,将默认 Web 模块更改为空或指定其他 Web 模块。

  2. 使用 CLI,通过将 domain 指定为目标来取消 Web 模块的部署。


    # asadmin undeploy --target domain <WEB-MODULE-NAME\>

    现在,管理控制台应该可以正常工作了,如果需要,可以再次部署 Web 模块。

通过 Application Server GUI 中的 AMX API 将 WAR 和 JAR 部署到 PE 服务器后,出现 FrameworkError 异常。(ID 6201462)

如果使用 AMX API 在 PE 上部署了某个应用程序但未对其进行引用,则 Application Server GUI 在显示该应用程序时将抛出错误。AMX 要求显式引用应用程序。例如,部署应用程序时,需要显式创建 DeployedItemRefConfig。如果为了简化部署过程而假定在 PE 中进行了引用,则将导致 Application Server GUI 出现问题。

解决方法

创建资源或应用程序后,始终创建对资源或应用程序的引用。

配置中的 Java 主目录设置不起作用。(ID 6240672)

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 版本要求。


Selector.select() 抛出 IOException。Application Server 启动失败。(ID 6322825)

在当前 JDK 代码中,/dev/poll 选定器会将包含 8192pollfd 条目的数组分配给该选定器使用。这将超出 nofiles ulimit,从而导致分配失败,并显示错误“参数无效”。selector.select() 的中断导致在启动期间连接至 MQ 的 Application Server 套接字服务失败,并抛出 IOException

解决方法

放宽对 pollfd 文件描述符的限制。有两种方法可完成此操作:

  1. 以 root 用户身份在 shell 上执行 ulimit -n 8193

  2. 将文件描述符数目的严格限制增加为 8193 或更高:

    1. 使用 ulimit -n -H 检查严格限制。

    2. 如果小于 8193,请编辑 /etc/system,以添加 set rlim_fd_max=8193 命令。

    3. 重新引导计算机。

create-domain 主密码具有特殊字符时,域无法启动。(ID 6345947)

域的主密码包含百分比 (%) 字符时,域无法启动。

解决方法

域的主密码不应包含百分比字符 (%)。创建新域或更改现有域的主密码时亦如此。

AS 8.2 启动时无法正确处理特定的 Java System 属性。(ID 6372759)

将以下内容添加到 JVM 代理设置会导致服务器无法启动:


<jvm—options>-Dhttp.proxyHost=webcache.east.sun.com</jvm—options>
<jvm—options> -Dhttp.proxyPort=8080</jvm—options>
<jvm—options>-Dhttp.nonProxyHosts="mssp.ctu.gov|*.ctu.gov|localhost"
</jvm—options>

插入 * 字符会导致发生“找不到类 Def”错误(线程 main java.lang.NoClassDefFoundError: com/sun/enterprise/security/store/IdentityManager 中的异常)。插入 | 字符会导致启动脚本等待服务器启动超时。

此功能对于支持驻留在防火墙后且需要访问外部和内部服务器的 Application Server 部署(和门户部署)十分重要。Portal Server URL Scraper 便是一个例子。要允许 URL Scraper 从外部源获取内容,这些设置是必需的。

解决方法

编辑 install-dir/config/asenv.conf 文件,将行 AS_NATIVE_LAUNCHER="true" 更改为 AS_NATIVE_LAUNCHER="false"