Notas de la versión de Sun Java System Application Server Platform Edition 8.2

Capítulo 3 Limitaciones y problemas conocidos

En este capítulo se describen los problemas conocidos y las soluciones asociadas para el software de Sun Java System Application Server Platform Edition 8.2. Si en la información no se especifica una plataforma en concreto, significa que el problema se aplica a todas las plataformas. Esta información está organizada en las siguientes secciones:

Administración

La secuencia de comandos package-appclient no funciona si no está presente domain1. (Id. 6171458)

De forma predeterminada, hay un valor codificado en $INSTALL/lib/package-appclient.xml para la variable AS_ACC_CONFIG de domain1 a la que señala asenv.conf. Si domain1 se elimina y se crea un nuevo dominio, la variable AS_ACC_CONFIG no se actualiza con el nombre del dominio nuevo, lo que provoca que falle la secuencia de comandos package-appclient .

Solución

Lleve a cabo una de las siguientes acciones:

No se puede restaurar con otro nombre un dominio del que se haya hecho una copia de seguridad. (Id. 6196993)

No se puede realizar la duplicación de un dominio en la misma instalación de Application Server mediante los comandos backup-domain y restore-domain , ya que el dominio no se puede restaurar con un nombre distinto del original, aunque el comando asadmin restore-domain proporcione una opción para cambiar el nombre del dominio. Parece que el cambio de nombre del dominio del que se ha hecho una copia de seguridad es correcto, pero al intentar iniciar el dominio en cuestión se producen errores porque las entradas de la configuración del dominio no se han cambiado, y startserv y stopserv usan el nombre de dominio original para definir las rutas.

Solución

El nombre de dominio utilizado para restore-domain debe ser el mismo que se usó para el comando original backup-domain. Los comandos backup-domain y restore-domain de Application Server 8.2 sólo se pueden utilizar para realizar copias de seguridad y restaurar el mismo dominio en el mismo equipo.

No se admite el inicio de Application Server con un agente JMX adicional. (Id. 6200011)

J2SE 1.4.x, 5.0 o superior puede configurarse en Application Server. Una función integral de la plataforma J2SE 5.0 es la posibilidad de ejecutar un agente JMX. Esta opción se activa cuando se configuran explícitamente las propiedades del sistema al iniciar el servidor.

Entre los valores de ejemplo se incluyen:

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"

Después de configurar las propiedades de JMX e iniciar el servidor, se inicia un nuevo jmx-connector en Application Server VM. Un efecto secundario no deseable es que las funciones de administración se ven afectadas negativamente, y la CLI y la GUI de administración de Application Server pueden generar resultados inesperados. El problema es que se producen algunos conflictos entre el servidor integrado jmx-connector y el nuevo servidor jmx-connector.

Solución

Si utiliza jconsole (o cualquier otro cliente compatible con JMX), puede reutilizar el servidor estándar JMX Connector Server que se ejecuta al iniciar Application Server.

Al iniciar el servidor, se muestra una línea parecida a la que aparece más abajo en el registro del servidor. Puede conectarse a la JMXServiceURL especificada en dicha ubicación y realizar las mismas operaciones de configuración y administración después de que se proporcionen correctamente las credenciales, por ejemplo:

[#|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.|#]

Para obtener más información, consulte la Guía de administración de Sun Java System Application Server 8.2.

No se puede reimplementar el módulo web predeterminado de un servidor virtual ni anular su implementación. (Id. 6204799)

Si el módulo web se especifica como el módulo predeterminado de un servidor virtual e intenta reimplementarlo o anular su implementación, obtendrá el siguiente mensaje de error:

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.

En este punto, domain.xml se encuentra en estado de error, y es posible la consola de administración no pueda mostrar la tabla que indica las aplicaciones web implementadas. Esta situación se mantendrá aunque se detenga el dominio y se inicie de nuevo.

Solución

Cambie el módulo web predeterminado.

ProcedurePara cambiar el módulo web predeterminado

Pasos
  1. En la consola de administración, acceda a la página del servidor virtual y cambie el módulo el módulo web predeterminado dejando el campo vacío o especificando otro módulo web.

  2. En la CLI, especifique domain como destino para anular la implementación del módulo web.


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

    La consola de administración debería funcionar ahora correctamente y el módulo web debería poder implementarse de nuevo, si así lo desea.

Excepción FrameworkError después de implementar un archivo WAR y JAR en el servidor PE mediante la API AMX en la GUI de Application Server. (Id. 6201462)

Si se implementa una aplicación en PE mediante la API AMX y no se hace referencia a ella, la GUI Application Server presenta errores al mostrar dicha aplicación. Si se utiliza AMX, es necesario administrar de forma explícita las referencias de las aplicaciones. Por ejemplo, al implementar una aplicación, DeployedItemRefConfig debe crearse explícitamente. Para simplificar el proceso de implementación, se presupone que las referencias están presentes en PE, lo que, a su vez, provoca el problema con la GUI de Application Server.

Solución

Cree siempre la referencia a un recurso o aplicación después de crearlo.

No se aplica la configuración de inicio de Java en Configuración. (Id. 6240672)

Los dominios o servidores de Application Server no utilizan el JDK al que señala el atributo java-home del elemento java-config de la configuración asociada.

Solución

El JDK utilizado por los procesos de Application Server de todos los dominios en una instalación del servidor específica viene determinado por el archivo appserver-installation-dir /config/asenv.conf. La propiedad AS_JAVA de este archivo determina el JDK que se utilizará y establecerá durante la instalación. Si los procesos de Application Server utilizan un JDK diferente una vez completada la instalación, este valor puede modificarse para que señale a otro JDK. Tenga en cuenta que este cambio afectará a todos los dominios de esta instalación.


Nota –

Al realizar cambios en el archivo asenv.conf, debe tener cuidado, ya que no se comprueba su validez. Consulte la documentación del producto para conocer los requisitos mínimos de la versión de JDK al modificar el valor de AS_JAVA.


Selector.select() genera una excepción IOException, lo que provoca un fallo en el inicio de App Server. (Id. 6322825)

En el código actual de JDK, el selector /dev/poll asigna una matriz de 8192 entradas de pollfd para su uso por parte de éste. Esto supera el límite nofiles ulimit, lo que provoca que falle con el error "argumento no válido". Además, a su vez, esta error provoca que el servicio de socket de App Server que se conecta a MQ durante el inicio falle con la excepción IOException debido a que se ha roto selector.select() .

Solución

Aumente el límite de descriptores del archivo pollfd. Puede realizar esta tarea de dos formas:

  1. Ejecute ulimit -n 8193 en el shell como root.

  2. Aumente el límite fijo de número de descriptores de archivo a 8193 o un valor superior:

    1. Compruebe el límite fijo con ulimit -n -H.

    2. Si es inferior a 8193, edite /etc/system agregando el comando set rlim_fd_max=8193.

    3. Reinicie el equipo.

El dominio no se puede iniciar cuando la contraseña maestra de creación del dominio incluye caracteres especiales. (Id. 6345947)

El dominio no se inicia cuando la contraseña maestra del dominio contiene el carácter de porcentaje (%).

Solución

La contraseña maestra del dominio no debe contener un carácter de porcentaje (%). Esta limitación es aplicable al crear un nuevo dominio o cambiar la contraseña maestra del dominio existente.

El proceso de inicio de AS 8.2 no administra correctamente determinadas propiedades de Java System. (Id. 6372759)

Si se agrega lo siguiente a la configuración del proxy de JVM, el servidor no se iniciará:


<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>

Si se inserta el carácter *, se produce un error "No se ha encontrado ninguna definición de clase" (Se genera una excepción en el subproceso main java.lang.NoClassDefFoundError: com/sun/enterprise/security/store/IdentityManager ). Si se inserta el carácter |, se agota el tiempo de espera de la secuencia de comandos de inicio, y el servidor no se puede iniciar.

Esta función es vital para admitir las implementaciones de Application Server (y de Portal) que se encuentran detrás de un servidor de seguridad y necesitan acceder tanto a los servidores internos como externos. como, por ejemplo, el buscador de URL de Portal Server Esta configuración es necesaria para permitir que el buscador de URL obtenga el contenido de fuentes externas.

Solución

Edite el archivo install-dir/config/asenv.conf cambiando la línea AS_NATIVE_LAUNCHER="true" por AS_NATIVE_LAUNCHER="false" .

Cliente de la aplicación

Este apartado describe problemas conocidos relacionados con los clientes de la aplicación, junto con las soluciones pertinentes.

La biblioteca JAR incluida en el archivo del cliente de aplicación sobrescribe el archivo MANIFEST. (Id. 6193556)

Si cuenta con un archivo JAR de nivel superior en el cliente JAR (en este caso, reporter.jar), cuando implemente el cliente JAR, el archivo MANIFEST de dicho JAR sobrescribirá el archivo MANIFEST del cliente JAR.

Solución

Ninguna por ahora.

No se admite la tecnología de contenido dinámico como, por ejemplo, las funciones CGI-bin y SHTML. (Id. 6373043)

Ya no se admiten las tecnologías de contenido dinámico como, por ejemplo, CGI-bin y SHTML.

Solución

En su lugar, utilice las tecnologías de servicios web y JSP.

Controlador de base de datos

En esta sección, se describen los problemas conocidos relacionados con el controlador de base de datos, junto con las soluciones pertinentes.

El servidor DB2 presenta conexiones activas una vez agotado el tiempo de espera de inactividad con el controlador DB2 Tipo II. (Id. 2082209/5022904)

Después de transferir aplicaciones desde otro servidor de aplicaciones, las conexiones físicas no se cierran correctamente una vez agotado el tiempo de espera. Este problema se produce con la versión 8.1 de DB2 del controlador (Tipo II) de las bibliotecas de cliente en el servidor de base de datos DB2 7.1.x .

Solución

Establezca SteadyPoolSize y MaxPoolSize en el mismo número y, además, establezca el tiempo de espera de Idle Connection en 0 (cero). De esta forma, se deshabilita el tiempo de espera de las conexiones inactivas y el usuario contará con el conjunto completo de conexiones disponibles.

Herramienta de implementación (Deploytool)

En esta sección, se describen los problemas relacionados con la herramienta de implementación (Deploytool), junto con las soluciones pertinentes.

La herramienta de implementación no creará a menudo los elementos message-destination en los descriptores de implementación de Sun. (Id. 6197393):

Solución

Para editar un nombre JNDI existente de un destino de mensaje:

ProcedurePara editar un nombre JNDI existente

Pasos
  1. Elimine el nombre JNDI existente. Para ello, deje en blanco el campo de texto Nombre JNDI y pulse Intro.

  2. Escriba el nuevo nombre JNDI y pulse Intro.

  3. Revise el descriptor de Sun haciendo clic en Herramientas\>Visor del descriptor\>Descriptor de Application Server.

  4. Haga clic en Archivo\>Guardar para guardar la aplicación.

    Si el nombre JNDI no se guarda en el descriptor de Sun:

  5. Reinicie la herramienta de implementación.

  6. En la ficha Destinos de mensajes, seleccione un destino de mensaje o agregue uno nuevo.

  7. Introduzca el nombre JNDI del destino de mensaje en el campo de texto Nombre JNDI específico de Sun y pulse Intro.

  8. Revise el descriptor de Sun haciendo clic en Herramientas\>Visor del descriptor\>Descriptor de Application Server.

  9. Haga clic en Archivo\>Guardar para guardar la aplicación.

    Repita los pasos anteriores cada vez que se necesite introducir un valor en el campo Nombre JNDI específico de Sun de la ficha Destinos de mensajes, a menos que el valor se esté introduciendo por primera vez en este campo durante una sesión de la herramienta de implementación.

"Inicio" se traduce de forma incorrecta como "directorio de instalación" en chino simplificado en la herramienta de implementación. (Id. 6203658)

Al crear un Enterprise Bean en la herramienta de implementación y acceder a la ficha Transacción o Seguridad del nodo del bean, las etiquetas "Inicio local" e "Inicio remoto" se traducen incorrectamente como "Directorio de instalación local" y "Directorio de instalación remoto".

Documentación

En esta sección, se describen problemas conocidos relacionados con la documentación, junto con las soluciones pertinentes.

Algunas funciones de supervisión documentadas no se aplican a Platform Edition. (Id. 6202255)

La documentación de AMX (Application Server Management eXtenstions) no especifica algunas funciones de supervisión no disponibles en Application Server Platform Edition 8.2. En concreto, entre los componentes que no pueden supervisarse en Platform Edition, se incluyen:

Solución

No es necesaria ninguna. Estas estadísticas no son relevantes para Platform Edition.

Se hace referencia a AppservPasswordLoginModule como AbstractPasswordLoginModule en la documentación. (Id. 6229682)

La sección Realm Configuration de Sun Java System Application Server Platform Edition 8.2 Developer’s Guide del Capítulo 2, Securing Applications de Sun Java System Application Server Platform Edition 8.2 Developer’s Guide de Sun Java System Application Server Platform Edition 8.2 Developer’s Guide hace referencia de forma incorrecta a la ampliación de com.sun.appserv.AbstractLoginModule; sin embargo, esta clase ahora se denomina com.sun.appserv.AppservLoginModule.

Solución

Consulte com.sun.appserv.AppservLoginModule en lugar de com.sun.appserv.AbstractLoginModule.

Opción corta -W incorrecta para --passwordfile en las páginas de comando man de 8.2 PE. (Id. 6373588)

No debería haber una opción corta para --passwordfile. Actualmente -W --passwordfile aparece documentada en las páginas de comando man. Esto es incorrecto.

Solución

No intente utiliza la opción —W con --passwordfile en Application Server 8.2 Platform Edition. Está previsto que la opción corta se incluya en una futura versión de Application Server.

Falta Javadoc o es incorrecto para varios métodos e interfaces AMX (varios Id.):

Instalación

En esta sección, se describen problemas conocidos relacionados con la instalación y la desinstalación, junto con las soluciones pertinentes.

Fallo intermitente al procesar el botón de exploración Siguiente en la pantalla de bienvenida del programa de instalación o desinstalación. (Id. 4977191)

Se ha informa de forma intermitente la presencia de este error en la plataforma x 86, aunque es posible que afecte también a las plataformas Solaris SPARC y Linux.

El problema es que la primera pantalla del programa de instalación o desinstalación muestra correctamente el texto completo y los botones "Ayuda" y "Cancelar", pero el botón "Siguiente" necesario para desplazarse a la siguiente pantalla no está visible. Aunque no esté visible, su área está activa y si hace clic en ella, accederá con normalidad a la siguiente pantalla. La causa del problema es un error gráfico de la GUI de J2SE intermitente.

Solución

Como solución, podría hacer clic en el área del botón Siguiente a la izquierda del botón Ayuda. También puede hacer que aparezca el gráfico del botón en la pantalla cambiando su tamaño ligeramente, o minimizando y restableciendo la ventana del programa de instalación. Después de este proceso, el botón Siguiente desaparecido estará visible.

Al cerrar la instalación, algunos sistemas Linux se quedan bloqueados tras hacer clic en el botón Finalizar. (5009728)

Se ha observado que este problema se ha producido en varios sistemas Linux. Es más frecuente en Java Desktop System 2, pero también se ha observado en distribuciones RedHat.

Después de hacer clic en el botón Finalizar en la última pantalla, el programa de instalación no consigue iniciar una ventana del explorador que contiene la página con información acerca del producto o la página de registro. El programa de instalación se bloquea completamente y no permite volver a la línea de comandos.

Solución

Salga de programa de instalación pulsando Ctrl+C en la ventana de terminal en la que se inició el programa. Después de realizar esta acción, se puede abrir en ocasiones una ventana del explorador en la que se muestra la página "Acerca de" o la de registro, pero si no es así, deberá iniciar el navegador y escribir la siguiente dirección URL para ver la página "Acerca de":

file://install_dir/docs/about.html

Si también seleccionó la opción de instalación para registrar el producto, siga el vínculo para acceder a la página de registro que está disponible en la página "Acerca de" del producto.

Problemas intermitentes de inicio (bootstrap) y detección de J2SE en el empaquetador de instalación en Linux. (6172980)

El archivo ejecutable setup que inicia el programa de instalación de Linux se bloquea a menudo. En lugar de resolver la ubicación de J2SE e iniciar el asistente de instalación, el empaquetador se bloquea y devuelve los siguientes mensajes:

Chcking available disk space....
Checking Java(TM) 2 Runtime Environment....
Extracting Java(TM) 2 Runtime Environment....
Deleting temporary files.....

Este problema sólo aparece en algunas versiones de Linux y parece depender de la configuración del entorno, sobre todo, de la presencia de la variable JAVA_HOME.

Soluciones

Para solucionar este problema:

ProcedurePara solucionar los problemas de inicio (bootstrap) en Linux

Pasos
  1. Anule la definición de la variable JAVA_HOME ejecutando unset o unsetenv en función del shell.

  2. Ejecute setup con la opción -javahome para especificar la variable JAVA_HOME utilizada por el programa de instalación.

Administración del ciclo de vida

En esta sección, se describen problemas conocidos relacionados con la administración del ciclo de vida, junto con las soluciones pertinentes.

Después de establecer minimum-delivery-interval de la propiedad ejb-timer-service en 9000, si se intenta establecer redelivery-interval-in-mills de la propiedad ejb-timer-service en 7000, el comando set fallará con el siguiente error: (Id. 6193449)

[echo] Doing admin task set
[exec] [Attribute(id=redelivery-interval-internal-in-millis) : Redelivery-
Interval (7,000) should be greater than or equal to Minimum-delivery-
interval-in-millis (9,000)]
[exec] CLI137 Command set failed.

Solución

Use los valores predeterminados para estas propiedades, tal y como se indica a continuación:

minimum-delivery-interval(default)=7000
redelivery-interval-in-millis(default)=5000

Si utiliza valores que no sean los predeterminados, se generará un error.

Registro

En esta sección, se describen problemas conocidos relacionados con el registro, junto con las soluciones pertinentes.

Al establecer la instrucción de depuración para access.failure, se bloquea el inicio de Application Server. (Id. 6180095)

Si establece la opción java.security.debug para JVM, la instancia del servidor se bloqueará irreversiblemente al iniciarse; por ejemplo, si establece domain.xml en los siguientes valores, se producirá este problema:

<jvm-options\>-Djava.security.debug=access,failure</jvm-options\>

Solución

Ninguna por ahora. Evite configurar este indicador.

Aplicaciones de ejemplo

En esta sección, se describen problemas conocidos relacionados con el código de ejemplo incluido en el producto Application Server 8.2.

El ejemplo de managementws debe actualizar las referencias de MANIFEST.MF de castor-0.9.3.9-xml.jar a castor-0.9.9.1.jar. (Id. 6363339)

Al ejecutar el verificador en <install_dir>/samples/webservices/jaxrpc/apps/managementws , recibirá los siguientes mensajes de advertencia:


[exec] WARNING: /var/tmp/exploded20051214111425/managementws/ \
managementwsEjb_jar contains library/castor-0.9.3.9-xml.jar in Class-Path 
manifest attribute, but it is not found in ear file
[exec] Dec 14, 2005 11:14:30 AM Archive getBundledArchives
[exec] WARNING: /var/tmp/exploded20051214111425/managementws/ \
managementwsEjb_jar contains library/castor-0.9.3.9-xml.jar in Class-Path
manifest attribute, but it is not found in ear file

El archivo jar de Castor se ha actualizado en la versión Application Server 8.2, por lo que todas las referencias al archivo castor-0.9.3.9-xml.jar antiguo deberían cambiarse para que señalen al nuevo archivo castor-0.9.9.1.jar. En concreto, debe cambiar las referencias de los archivos MANIFEST.MF para utilizar castor-0.9.9.1.jar en lugar del archivo castor-0.9.3.9-xml.jar antiguo.

Solución

Cambie las siguientes referencias al antiguo archivo jar de Castor para que señalen al nuevo archivo jar de Castor:

Antiguo:


src/conf/MANIFEST.MF:Class-Path: library/castor-0.9.3.9-xml.jar
src/conf/MANIFEST.MF:Name: library/castor-0.9.3.9-xml.jar
managementws-ejb/src/conf/MANIFEST.MF:Class-Path: \
library/castor-0.9.3.9-xml.jar

Nuevo:


src/conf/MANIFEST.MF:Class-Path: library/castor-0.9.9.1.jar
src/conf/MANIFEST.MF:Name: library/castor-0.9.9.1.jar
managementws-ejb/src/conf/MANIFEST.MF:Class-Path: \
library/castor-0.9.9.1.jar

A continuación, limpie el archivo build.xml para que no se copie el archivo .jar de Castor en install_dir /lib durante la implementación y elimínelo durante la anulación de la implementación. A continuación se muestran las diferencias entre los archivos build.xml antiguo y nuevo.

% cvs diff build.xml Index: build.xml
===================================================================
RCS file: /m/jws/samples/samples8x/webservices/jaxrpc/apps/managementws/ \
managementws-standalone-client/ Attic/build.xml,v retrieving revision \
1.1.2.3
diff -r1.1.2.3 build.xml
80,89d79
<   <target name="remove_castor_from_classpath">
<       <delete file="${com.sun.aas.installRoot}/lib/castor-0.9.9.1.jar"/>
<   </target>
<   <target name="add_castor_to_classpath">
<       <delete file="${com.sun.aas.installRoot}/lib/castor-0.9.9.1.jar"/>
<       <copy file="../lib/castor-0.9.9.1.jar" \
            todir="${com.sun.aas.installRoot}/lib" />
<   </target>
<
<   <target name="setup" depends="add_castor_to_classpath, restart.server"/>
<  jbenoit/galapago 196 >pwd
/net/galapago.east/files/share/8.2ws/samples/samples8x/webservices/jaxrpc \
/apps/managementws/managementws-standalone-client
jbenoit/galapago 197 >cd ..
jbenoit/galapago 198 >cvs diff build.xml
Index: build.xml
===================================================================
RCS file: /m/jws/samples/samples8x/webservices/jaxrpc/apps/managementws/ \
Attic/build.xml
v retrieving revision 1.1.2.4
diff -r1.1.2.4 build.xml
28,36d27
<   <target name="setup">
<       <ant antfile="build.xml" inheritAll="true" dir="${sample.name}$ \
{standalone-client-dir-suffix}" target="setup"/>
<   </target>
<   
<   <target name="unsetup">
<       <ant antfile="build.xml" inheritAll="true" dir="${sample.name}$ \
{standalone-client-dir-suffix}" target="remove_castor_from_classpath"/>
<   </target> 
<
<
53,54c44,45
<   <target name="deploy"   depends="select_binary_common, deploy_common, 
    setup" />
<   <target name="undeploy" depends="init,  undeploy_common, unsetup"/>
---
>   <target name="deploy"   depends="select_binary_common, deploy_common" />
>   <target name="undeploy" depends="init,  undeploy_common"/>

Seguridad

En esta sección, se describen problemas conocidos relacionados con la seguridad, junto con las soluciones pertinentes.

Seguridad de WS: el contenedor de appclient no está integrado correctamente en el tiempo de ejecución de cliente JAXRPC. (Id. 6325469)

El cliente de aplicación no transfiere el nombre de usuario y la contraseña a otro cliente de servicio web.

Solución

Transfiera explícitamente la combinación de nombre de usuario y contraseña, si es necesario, al programa del cliente, de la siguiente forma:

((Stub)yourWSPort)._setProperty(Stub.USERNAME_PROPERTY, "yourUsername");
((Stub)yourWSPort)._setProperty(Stub.PASSWORD_PROPERTY, "yourPassword");

Utilidad de actualización

En esta sección, se describen problemas conocidos relacionados con la utilidad de actualización, junto con las soluciones pertinentes.

Los dominios creados en una ruta personalizada diferente del directorio install_dir /domains no se actualizan directamente al actualizar de Application Server Platform Edition 8 a Application Server Platform Edition 8.2. (Id. 6165528)

Al ejecutar la utilidad de actualización e identificar install_dir como el directorio de instalación de origen, el proceso de actualización actualiza sólo los dominios que se crean en el directorio install_dir /domains. Los dominios creados en otras ubicaciones no se actualizan.

Solución

Antes de iniciar el proceso de actualización, copie todos los directorios del dominio desde sus ubicaciones en el directorio install_dir /domains.

Conflicto de puertos al iniciar el dominio domain1 o samples después de actualizar 8.0 Platform Edition a 8.2 Platform Edition. (Id. 6202188)

Después de actualizar la versión 8.0 de Application Server con varios dominios, es posible que los dominios no puedan iniciarse simultáneamente debido a que tienen configurado el mismo número de puerto para el conector JMX.

Solución

Cambie el valor del puerto.

ProcedurePara cambiar el valor del puerto

Pasos
  1. Busque la siguiente entrada en el archivo install dir /domains/domain1/config/domain.xml:


    <jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name=
    "admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" 
    security-enabled="false"/\>" -- and in file <as 8.1 install dir\>
    /domains/domain1/samples/config/domain.xml, notice it used the same port 
    "8686", so it failed to start domain due to port conflict.
  2. Cambie el valor del puerto 8686 por 8687 y, a continuación, reinicie domain1.

El programa de instalación que está ejecutando la "Actualización en curso" no puede iniciar la herramienta de actualización en algunos sistemas Linux después de hacer clic en el botón "Asistente para iniciar la actualización". (6207337)

Este problema se ha observado en varios sistemas Linux y es más frecuente en Java Desktop System 2, pero también se ha detectado en distribuciones RedHat.

Después de hacer clic en el botón Herramienta para iniciar la actualización de la pantalla final del programa de instalación, éste no logra iniciarla para completar el proceso y se bloquea de forma indefinida, por lo que no consigue volver a la línea de comandos.

Solución

Este problema no se produce si se utiliza el modo de instalación mediante la línea de comandos para realizar la actualización "in situ".

ProcedurePara utilizar el modo de instalación de línea de comandos

Pasos
  1. Si ejecutó una instalación "in situ" con el modo GUI y detectó este problema, salga del instalador pulsando Ctrl+C en la ventana de terminal en la que se ejecutó el instalador.

  2. Inicie la herramienta de actualización desde la ventana de terminal usando los siguientes comandos:


    install_dir/bin/asupgrade --source install_dir/domains --target install_dir 
    --adminuser adminuser--adminpassword adminpassword --masterpassword changeit

    adminuser y adminpassword deben coincidir con los valores usados para la instalación que esté actualizando.

  3. Cuando la herramienta de actualización termina el proceso, también podrá iniciar el navegador y escribir la siguiente dirección URL para ver la página "Acerca de":

    file://install_dir/docs/about.html

    Si también seleccionó la opción de instalación para registrar el producto, siga el vínculo para acceder a la página de registro que está disponible en la página "Acerca de" del producto.

El panel de resultados muestra caracteres ilegibles tras la actualización (Id. 6376140)

Al actualizar la versión multilingüe de Application Server 8.2 a una versión superior utilizando varias configuraciones regionales, es posible que el panel de resultados y el archivo /opt/SUNWappserver/domains/upgrade.log muestren caracteres ilegibles.

Solución

Ninguna por ahora. Este problema se solucionará en una próxima versión de Application Server.

Contenedor web

En esta sección, se describen problemas conocidos relacionados con el contenedor web, junto con las soluciones pertinentes.

Si se implementa una aplicación mediante --precompilejsp=true, se pueden bloquear los archivos JAR de la aplicación, lo que provocaría el fallo de la reimplementación o de la anulación de la implementación más adelante (sólo en Windows). (Id. 5004315)

Si solicita una precompilación de JSP cuando implemente una aplicación en Windows, los siguientes intentos para anular la implementación o para volver a implementarla (o alguna aplicación con el mismo ID de módulo) no funcionarán tal y como se esperaba. El problema es que la precompilación de JSP abre archivos JAR en la aplicación, pero luego no los cierra y Windows impide que se anule la implementación porque no se pueden eliminar los archivos e impide que se puedan volver a implementar, puesto que no se pueden sobrescribir.

Tenga en cuenta que la anulación de la implementación es correcta hasta un punto en el que la aplicación se elimina lógicamente de Application Server. Tenga en cuenta también que la utilidad asadmin no muestra ningún mensaje de error, a pesar de que los archivos jar bloqueados y el directorio application\qs siguen estando en el servidor. El archivo de registro de server\qs contendrá mensajes en los que se describe el fallo para eliminar los archivos y el directorio application\qs.

Los intentos de volver a implementar la aplicación después de que ésta se haya anulado fallan porque el servidor trata de eliminar los archivos existentes y el directorio, pero estos intentos fallan. Esto puede suceder si intenta implementar cualquier aplicación que use el mismo Id. de módulo que se utilizó para implementar originalmente la aplicación porque el servidor usa el Id. del módulo para elegir el nombre del directorio en el que se guardarán los archivos de la aplicación.

Los intentos de volver a implementar la aplicación sin anularla primero fallarán por los mismos motivos.

Diagnóstico

Si intenta volver a implementar la aplicación o implementarla después de haberla eliminado, la utilidad asadmin devuelve un error parecido al siguiente.

An exception occurred while running the command.  The exception message 
is: CLI171 Command deploy failed : Deploying application in domain failed;
Cannot deploy. Module directory is locked and can\qt be deleted

Soluciones

Si especifica --precompilejsps=false (la configuración predeterminada) al implementar una aplicación, no se producirá este problema. Tenga en cuenta que cuando use la aplicación por primera vez se activará la compilación JSP, por lo que el tiempo de respuesta a la primera solicitud será más largo que para las solicitudes posteriores.

Debe saber también que si realiza una compilación previa, deberá detener y reiniciar el servidor antes de anular la implementación de la aplicación o de volver a implementarla. Al cerrar, se liberan los archivos JAR bloqueados por lo que la anulación de la implementación o el proceso para volver a implementar se realizarán correctamente.

No se puede implementar un archivo WAR con web.xml basado en Servlet 2.4 que contenga un elemento <load-on-startup\>. (Id. 6172006)

El elemento opcional load-on-startup servlet en web.xml indica que el servlet asociado se debe cargar e iniciar cuando se inicie la aplicación web de la que forma parte.

El contenido opcional de este elemento es un número entero que indica el orden en el que el servlet se debe cargar e iniciar con respecto a los otros servlets de application\qs. Si <load-on-startup\> está vacío, esto indica que el orden no es relevante, siempre y cuando el servlet se cargue e inicie durante el inicio de la aplicación web que lo contiene.

El esquema de Servlet 2.4 de web.xml ya no admite un elemento <load-on-startup\> vacío. Esto implica que debe especificarse un entero al utilizar un archivo web.xml basado en Servlet 2.4. Si se especifica un elemento <load-on-startup\> vacío, como en <load-on-startup/\>, el archivo web.xml no podrá realizar la validación en el esquema de Servlet 2.4 para web.xml, por lo que fallará la implementación de la aplicación web.

Problema de compatibilidad con versiones anteriores En el caso de un archivo web.xml basado en Servlet 2.3, sí se puede dejar vacío <load-on-startup\>.

Solución

Especifique <load-on-startup\>0</load-on-startup\> al utilizar un archivo web.xml basado en Servlet 2.4 para indicar que el orden de carga del servlet es irrelevante.

No se puede compilar la página JSP en servidores con restricciones de recursos. (Id. 6184122)

Se puede acceder a la página JSP, pero se producen fallos al compilar y el registro del servidor contiene el mensaje de error "Unable to execute command", es decir, que no se puede ejecutar el comando con este seguimiento de pila:

at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec
(Execute.java:655) at org.apache.tools.ant.taskdefs.Execute.launch
(Execute.java:416) at org.apache.tools.ant.taskdefs.Execute.execute
(Execute.java:427) at org.apache.tools.ant.taskdefs.compilers.
DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.
java:448) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.
execute(JavacExternal.java:81) at org.apache.tools.ant.taskdefs.Javac.
compile(Javac.java:842) at org.apache.tools.ant.taskdefs.Javac.execute
(Javac.java:682) at org.apache.jasper.compiler.Compiler.generateClass
(Compiler.java:396)

Solución

Establezca el conmutador de compilación fork de JSP en false.

Esta acción puede realizarse de dos formas:

Reducción del rendimiento en los equipos con varias CPU. (Id. 6194026)

La configuración predeterminada de Application Server PE no funciona de forma óptima en los equipos con varias CPU. Se realiza una concesión para acelerar el inicio, pero esto puede afectar negativamente en el rendimiento de las aplicaciones web.

Solución

Configure Application Server para utilizar la siguiente opción de JVM:

-Dcom.sun.enterprise.server.ss.ASQuickStartup=false

Los documentos de Fast Infoset recibidos con errores de formato pueden deshabilitar la compatibilidad de Fast Infoset con los servicios implementados de JAX-RPC. (Id. 6368670)

Si se envía un mensaje SOAP codificado de Fast Infoset no compatible a un servicio de JAX-RPC, el servicio presentará errores de forma correcta. Sin embargo, los siguientes mensajes SOAP codificados de Fast Infoset compatibles que se envíen al mismo servicio o a un servicio implementado con el mismo tiempo de ejecución JAX-RPC presentarán errores indebidamente.

Solución

Hay varias soluciones posibles: