Notas de la versión de Sun Java System Application Server Enterprise Edition 8.1 2005Q2

- Previous: Capítulo 2 Acerca de Application Server Edición Enterprise 8.1 2005Q2

# 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 Edición Enterprise 8.1 2005Q2. Si no se especifica una plataforma concreta para un problema, significa que éste se aplica a todas las plataformas. Esta información se ha dividido como sigue:

- Administración

- Apache y el complemento del equilibrador de carga

- Cliente de la aplicación

- Controladores JDBC de Sun integrados

- Conectores

- Documentación

- Alta disponibilidad

- Instalación

- Tutorial J2EE

- Gestión del ciclo de vida

- Registro

- Message Queue

- Supervisión

- PointBase

- Ejemplos

- Seguridad

- Utilidad de actualización

- Contenedor web

# Administración

Este apartado describe problemas conocidos relacionados con la administración, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
6171458 | La secuencia de comandos `package-appclient` no funciona si `domain1` no está presente. 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: Deje intacto `domain1` y cree los demás dominios en torno a él. Elimine `domain1` y sustituya el valor codificado de `domain1` en `$INSTALL/lib/package-appclient.xml` con el nuevo nombre de dominio. Deberá llevar a cabo este procedimiento cada vez que cree un dominio nuevo si `domain1` no está presente.
6196993 | No se puede restaurar con otro nombre un dominio del que se haya hecho una copia de seguridad. No es posible duplicar un dominio en la misma instalación de Application Server utilizando los comandos `backup-domain` y `restore-domain` porque el dominio no puede restaurarse con un nombre distinto del original, aunque el comando `asadmin restore-domain` ofrezca la opción de 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, `startserv` y `stopserv` usan el nombre del 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` sólo funcionan en Application Server 8.1 para hacer copias de seguridad y restaurar el mismo dominio en la misma máquina.
6200011 | No se admite el inicio de Application Server con un agente JMX adicional. J2SE 1.4.x, 5.0 y las versiones posteriores se pueden configurar en Application Server. Una función integral de la plataforma J2SE 5.0 es la capacidad para iniciar un agente JMX. Esta función se activa definiendo explícitamente propiedades de 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 JMX e iniciar el servidor, un nuevo servidor `jmx-connector` se inicia en la máquina virtual de Application Server. Un efecto colateral no deseable es que las funciones de administración se ven afectadas negativamente y la consola de administración de Application Server y la interfaz de línea de comandos pueden generar resultados inesperados. El problema es que hay algunos conflictos entre la construcción en `jmx-connector` y el nuevo servidor de `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 dirección URL de `JMXService` especificada ahí 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 Administration Guide.
6206176 | En UNIX, los permisos de ejecución excesimavemente restrictivos de Application Server inician y detienen las secuencias de comandos. Si ejecuta el comando `asadmin restore-domain` cuando haya iniciado una sesión como usuario "A", las secuencias de comandos se finalizarán con permisos 744 (`rwxr--r--` ). Si, posteriormente, intenta iniciar o detener un dominio utilizando el usuario "B" (incluso aunque "B" sea root), se producirá un error, ya que las secuencias de comandos sólo podrán ser ejecutadas por el usuario "A". Solución Cambie los permisos de las secuencias de comandos:
    chmod 755 appserv/domains/domain-name/bin/*
1. 6236544, 6275436 | El archivo de configuración del equilibrador de carga no se crea con la dirección URL de punto final de ningún servicio Web. Al configurar el equilibrador de carga con una aplicación que tenga un módulo EJB que exporte una URL de servicio web, la raíz del contexto para el nuevo servicio web no se encuentra en el archivo `loadbalancer.xml` resultante. Solución Edite el archivo `loadbalancer.xml` para agregar los módulos web que falten de la siguiente forma:
       <web-module context-root="context-root-name"
       disable-timeout-in-minutes="30" enabled="true"/>
Sustituya el valor de context-root-name con el nombre root del contexto del servicio web que se expuso como EJB.
6288893 | Si se reinicia Application Server mediante `sun-appserv-admin`, se genera un error `LoginException`. Solución Cambie el nombre de la secuencia de comandos <as_install>`/bin/asant` existente por `asant.bak`. Copie el archivo `asant.template` ubicado en <as_install> `/lib/install/templates/ee` (para la versión SE/EE version) en el directorio <as_install>`/bin`/ y cambie el nombre del archivo `asant`. Edite la secuencia de comandos <as_install>`/bin/asant` que acaba de copiar sustituyendo el token `%CONFIG_HOME%` por <as_install>`/config`. Si se ha efectuado algún cambio manual en el archivo `asant.bak` original, combínelo con la nueva secuencia de comandos `asant`.
6315957 | El archivo `.asadmintruststore` no se describe en la documentación de Application Server. Si el archivo no se encuentra en el directorio `home` del administrador del servidor, es posible que se produzcan errores graves al actualizar determinadas aplicaciones alojadas en el servidor. Solución Si el posible, el usuario que instaló el servidor debería ejecutar el comando `asadmin start-domain domain1`. Si, por el contrario, no es posible, `.asadmintruststore` debería moverse o copiarse del directorio `home` del usuario que ha efectuado la instalación al directorio `home` del usuario que está ejecutando el servidor. Tenga en cuenta que si se mueve (no se copia) el archivo del directorio `home` del usuario de instalación al directorio `home` del usuario de ejecución, es posible que se produzcan problemas con la actualización de la aplicación, como se describe en los errores 6309079, 6310428 y 6312869, ya que el usuario de instalación/actualización (normalmente `root` en Java ES) ya no dispondrá del archivo `.asadminstruststore` en su directorio principal.
6407140 | Las instancias del servidor iniciadas con `start-node-agent` no presentan el contenido de sincronización más reciente. El comando `asadmin start-node-agent` inicia automáticamente las instancias del servidor remoto sin sincronizarlas con DAS. Solución: Si está iniciando una instancia del servidor remoto sincronizada con el depósito central administrado por DAS, especifique la opción `--startinstances=false` con el comando `asadmin start-node-agent`. A continuación, utilice el comando `asadmin start-instance` para iniciar la instancia del servidor remoto.
6654726 | La función de la Consola de administración que permite seleccionar conjuntos de cifrados no funciona correctamente. Al seleccionar la opción "Admitir todos los conjuntos de cifrados" de las escuchas HTTP, se desactivan las casillas de verificación, pero se vuelven a activar una vez actualizada la página, incluso aunque se haya marcado la casilla "Admitirtodos...". Aunque parezca que existe un problema, una vez introducido el alias del certificado y después de hacer clic en "Guardar", los cambios se escribirán en la configuración. Solución: No se necesita ninguna acción. Los cambios se han guardado.

# Apache y el complemento del equilibrador de carga

En este apartado se describen los problemas conocidos relacionados con el complemento del equilibrador de carga y Apache Web Server, y las soluciones pertinentes.

ID del error | Resumen
--- | ---
6306784 | La guía de administración de alta disponibilidad contiene instrucciones incorrectas para usar `openssl` con Apache. Solución Cuando compile y cree `openssl`, ejecute los siguientes comandos: `cd openssl-0.9.7e` `config` `make` Además, para Apache 1.3, el nombre del directorio del origen `mod_ssl` variará en función de la versión de Apache que se use. Por ejemplo, para Apache 1.3.33, el nombre es `mod_ssl-2.8.22-1.3.33`.
6307976 | La guía de administración de alta disponibilidad no contiene instrucciones para usar un certificado de Apache 2.0. Solución Para ejecutar la seguridad de Apache, debe usar un certificado. Para conocer cómo se obtiene un certificado de una entidad emisora de certificados, consulte la información sobre los certificados que figura en modssl FAQ.
6308021 | Debe iniciar Apache Web Server como root. Solución En Solaris, si Application Server se instaló como root, deberá usar Apache Web Server también como root. Las instalaciones de Java Enterprise System se realizan como root. En Apache 2.0, después de iniciarse como root, Apache cambia y se ejecuta como el usuario que se especifique. Especifique ese usuario en el archivo `/conf/httpd.conf`. Para realizar un inicio como root en varios sistemas, debe editar el archivo `httpd.conf` para especificar el grupo correcto. Sustituya la línea: `Group #-1` por `Group nobody` Encontrará más información sobre el uso de user/group en el archivo `httpd.conf`.
6308043 | Adición a las instrucciones de uso de `openssl` con Apache Web Server 2.0 en Solaris. Después de instalar Apache 2.0 y el complemento del equilibrador de carga, edite `ssl.conf` and `sll-std.conf` de la siguiente forma: Sustituya la línea: `<VirtualHost _default_:9191>` por `<VirtualHost machine_name:9191>` donde machine_name es el nombre de su equipo y `9191` es el número del puerto de seguridad.

# Cliente de la aplicación

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

ID del error | Resumen
--- | ---
6193556 | La biblioteca JAR incluida en el archivo del cliente de aplicación sobrescribe el archivo MANIFEST. 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 para dicho JAR sobrescribirá el archivo MANIFEST para el cliente JAR. Solución Ninguna por ahora.
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.

# Controladores JDBC de Sun integrados

Este apartado describe problemas conocidos relacionados con los controladores JDBC de Sun, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
6165970 | Es posible que se bloqueen las aplicaciones que utilizan el nivel de aislamiento `TRANSACTION_SERIALIZABLE` con el controlador de Sun integrado para Microsoft SQL Server cuando se utiliza una instrucción preparada para actualizar, en caso de que se estén llevando a cabo dos transacciones paralelas y una de ellas se deshaga. Para definir el nivel deseado de aislamiento para una conexión, el conjunto de conexiones correspondiente debe crearse en el mismo nivel de aislamiento. Consulte la guía de administración para obtener información sobre cómo configurar los conjuntos de conexiones. Solución Ninguna por ahora.
6170432 | Errores de `PreparedStatement`. Descripción nº 1 Si una aplicación genera más de 3000 objetos `PreparedStatement` en una transacción, se puede producir el siguiente error con DB2: `[sunm][DB2 JDBC Driver] No more available statements.`.`Please recreate your package with a larger dynamicSections value.` Solución nº 1 Agregue las siguientes propiedades a la definición del conjunto de conexiones para que el controlador vuelva a vincular los paquetes DB2 con un valor mayor de secciones dinámicas: createDefaultPackage=true replacePackage=true dynamicSections=1000 Consulte Administration Guide para obtener información sobre cómo configurar los conjuntos de conexiones. Descripción nº 2 En relación con el error de `PrepardStatement` mencionado anteriormente, otro mensaje de error que se puede mostrar es: `[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.` Solución nº 2 Aumente el parámetro de configuración APPLHEAPSZ del servidor DB2 Un valor adecuado es 4096. Descripción nº 3 Nivel de aislamiento `TRANSACTION_SERIALIZABLE`. Si una aplicación utiliza un nivel de aislamiento `TRANSACTION_SERIALIZABLE` y emplea uno de los parámetros sugeridos anteriormente, es posible que se bloquee cuando intente obtener la conexión. Solución nº 3 Para definir el nivel deseado de aislamiento para una conexión, el conjunto de conexiones correspondiente debe crearse en el mismo nivel de aislamiento. Consulte Administration Guide para obtener más instrucciones.
6189199 | Surgen problemas al establecer el nivel de aislamiento con el controlador de Sun integrado para Sybase Adaptive Server. Es posible que se bloqueen las aplicaciones que utilizan el nivel de aislamiento `TRANSACTION_SERIALIZABLE` con el controlador de Sun integrado para Sybase Adaptive Server cuando se utiliza una instrucción preparada para actualizar, en caso de que se estén llevando a cabo dos transacciones paralelas y una de ellas se deshaga. El proceso para deshacer la conexión falla y se muestra el siguiente mensaje. Las conexiones deshechas no se pueden utilizar nunca más: `java.``sql.``SQLException:` `[sunm][Sybase JDBC Driver]Request cannot be submitted due to wire contention` Sybase Adaptive Server no es compatible con el nivel de aislamiento `TRANSACTION_REPEATABLE_READ` . No obstante, al realizar una consulta en `DatabaseMetaData`, el controlador integrado de Sun indica que dicho nivel de aislamiento sí es compatible con la base de datos. Las aplicaciones que utilizan este nivel de aislamiento fallarán. Las aplicaciones que usan el controlador integrado de Sun no pueden establecer el nivel de aislamiento `TRANSACTION_READ_UNCOMMITTED`. La aplicación desencadena la siguiente excepción en el primer acceso de `DataBaseMetaData`: `java.``sql.``SQLException:` `[sunm][Sybase JDBC Driver][Sybase]The optimizer could not find a unique index which it could use to perform an isolation level 0 scan on table 'sybsystemprocs.``dbo.``spt_server_info'.` Solución Ninguna por ahora.
6247468 | En Solaris 10 y Enterprise Linux 3.0, el controlador Oracle JDBC integrado en Sun no permite la creación de una conexión. Solución Defina la siguiente propiedad en el conjunto de conexiones de JDBC cuando use el origen de datos de Oracle SUN JDBC (`com.sun.``sql.``jdbcx.oracle.``OracleDataSource`): `<property name="serverType" value="dedicated"/>` El valor de la propiedad depende del modo en que esté configurado el módulo de escucha del servidor Oracle. Si está configurado en el modo "compartido", el valor de arriba deberá cambiarse a "dedicado".
6554602 | A partir de la versión 10.2 de los controladores JDBC, si se tienen varios archivos jar de JDBC en `CLASSPATH`, es posible que se produzca una excepción, `java.lang.SecurityException: Sealing violation exception`. Se proporciona información detallada en el siguiente Id. de documento de Oracle:
    Nota: 405446
    Asunto: el controlador JDBC 10.2 utiliza archivos JAR sellados y puede provocar
    una excepción de seguridad
    relacionada con una infracción de sellado.
Solución: (Recomendación de Oracle) Asegúrese de que `CLASSPATH` incluya sólo el archivo JAR del controlador JDBC.

# Conectores

En este apartado se describen los problemas conocidos relacionados con la arquitectura del conector J2EE y las soluciones asociadas.

ID del error | Resumen
--- | ---
6188343 | Después de reiniciar la instancia DAS, la anulación de la implementación del módulo del conector falla cuando la opción de cascada está definida en false. En esta situación, un módulo de conector independiente o integrado está implementado en DAS y los conjuntos de conexiones del conector y los recursos se crean para el módulo implementado. Después de reiniciar la instancia DAS, la anulación de la implementación del módulo del conector falla cuando la cascada se establece como false con la siguiente excepción: `[#|2004-10-31T19:``52:23.049-0800|INFO|sun-appserver-ee8.1|javax.``enterprise.system .core|_ThreadID=14;|CORE5023:` `Error while unloading application [foo]|#]`. Solución Use la anulación de implementación en cascada (establezca la opción cascade en true) para anular la implementación de los conectores integrados e independientes después de reiniciar la instancia DAS.

# Documentación

Este apartado describe problemas conocidos relacionados con la documentación, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
Varios ID | Incoherencias de Javadoc. Falta Javadoc o es incorrecto para varios métodos e interfaces AMX: Los métodos Getter para las estadísticas `NumConnAcquired` y `NumConnReleased` no están incluidos en `ConnectorConnectionPoolStats` y `AltJDBCConnectionPoolStats`. Dichos métodos se agregarán en una próxima versión con los nombres `getNumConnAcquired()` y `getNumConnReleased()`. Si intenta ejecutar los siguientes métodos en `EJBCacheStats`, se desencadenará una excepción: `getPassivationSuccesses()`, `getExpiredSessionsRemoved()`, `getPassivationErrors()`y `getPassivations()`. Este error se solucionará en una futura versión. AMX MBeans necesitan varios segundos después de que se inicie el servidor para registrarse y estar disponibles para su uso. En una versión futura será posible determinar si los AMX MBeans están totalmente cargados. La constante `XTypes.``CONNNECTOR_CONNECTION_POOL_MONITOR` está mal escrito (`"NNN"`). Este error se solucionará en una futura versión.
6265624 | ANT integrado desencadena `java.lang.``NoClassDefFoundError`. La siguiente excepción se desencadena en un subproceso "principal" `java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher`. Solución No se recomienda el uso del ANT integrado para cuestiones externas a Application Server.
6486123 | La documentación sobre cómo obtener una conexión física desde una conexión ajustada ya no es correcta. A consecuencia de otros errores (posiblemente 6295215), el código proporcionado en la sección Obtaining a Physical Connection from a Wrapped Connection de Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide del Capítulo 11, Using the JDBC API for Database Access de Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide no es correcto. En concreto, la línea siguiente:
    Connection drivercon = ds.getConnection(con);
debería indicar:
    Connection drivercon = ((com.sun.gjc.spi.DataSource)ds).getConnection(con);

# Alta disponibilidad

En este apartado se describen los problemas conocidos relacionados con la base de datos de alta disponibilidad (HADB) y las soluciones asociadas.

ID del error | Resumen
--- | ---
Sin ID | Configuración de HADB con redes dobles. La configuración de HADB con redes dobles en dos subredes funciona correctamente en Solaris SPARC. Sin embargo, debido a problemas en el sistema operativo o a los controladores de red en algunas plataformas de hardware, se ha observado que las plataformas Linux y Solaris x86 no siempre gestionan correctamente las redes dobles. Esto provoca los siguientes problemas con HADB: En Linux, algunos de los procesos de HADB se bloquean al enviar mensajes. Esto hace que el nodo de HADB se reinicie y se produzcan particiones en la red. En Solaris x86, pueden surgir algunos problemas después de un fallo de red que impidan cambiar a otras interfaces de red. Esto no sucede siempre, por lo que sigue siendo mejor tener dos redes que una sola. Estos problemas se han resuelto parcialmente en Solaris 10. No se admite el truncamiento. HADB no admite el uso de redes dobles en Windows 2003 (ID 5103186).
Sin ID | Falla la creación de la base de datos HADB. La creación de una base de datos nueva puede fallar con el siguiente error, que indica que hay muy pocos segmentos de memoria compartida disponibles: `HADB-E-21054:` `System resource is unavailable:` `HADB-S-05512:` `Attaching shared memory segment with key "xxxxx" failed, OS status=24 OS error message:` `Too many open files.` Solución Compruebe que la memoria compartida esté configurada y que la configuración esté funcionando. En concreto, en Solaris 8, consulte el `/etc/system`, y compruebe que el valor de la variable `shmsys:``shminfo_shmseg` sea, como mínimo, 6 veces el número de nodos por host.
5052548 | Hay segmentos de memoria compartida bloqueados y no se pueden eliminar. HADB 4.3-0.16 y posterior se configura para utilizar la memoria compartida privada al crearse y adjuntarse a sus segmentos de memoria compartida (utiliza el indicador `SHM_SHARE_MMU` ). El uso de este indicador básicamente bloquea los segmentos de memoria compartida en la memoria física e impide que se eliminen. Esto puede fácilmente provocar problemas con instalaciones en equipos finales lentos. Por tanto, si un programador tiene un equipo con 512 MB de memoria y mucho espacio de intercambio disponible al utilizar Application Server7.0 EE y, a continuación, instala 7.1 EE o posterior, tendrá problemas al configurar el clúster predeterminado `clsetup`, que crea dos nodos HADB, cada uno con un tamaño, `devicesize`, de `512`, que da lugar a que no haya suficiente RAM física para soportar la memoria compartida que ambos nodos necesitan. Solución: Asegúrese de que dispone de la cantidad recomendada de memoria al ubicar de forma conjunta Application Server y HADB. Consulte Requisitos de HADB y plataformas compatibles para obtener más información.
5091280 | `hadbm set` no comprueba la disponibilidad de los recursos (espacio de memoria y disco). Al aumentar el tamaño de la memoria búfer o de los dispositivos usando `hadbm set,`, el sistema de administración comprueba la disponibilidad de los recursos cuando se crean bases de datos o se agregan nodos, pero no comprueba si hay recursos suficientes cuando se cambia el tamaño de la memoria búfer principal o del dispositivo. Solución Compruebe si hay espacio de disco o de memoria suficiente en todos los hosts antes de aumentar los atributos de configuración `devicesize` o `buffersize`.
5091349 | No se admiten las rutas heterogéneas para `packagepath`. No se puede registrar el mismo paquete de software con el mismo nombre en ubicaciones distintas y en hosts diferentes, por ejemplo:
    hadbm registerpackage test --packagepath=/var/install1 --hosts europa11
    Package successfully registered.
    hadbm registerpackage test --packagepath=/var/install2 --hosts europa12
    hadbm:Error 22171: A software package has already been registered with
    the package name test.
Solución HADB no admite rutas heterogéneas en los nodos de un clúster de base de datos. Asegúrese de que el directorio de instalación de HADB (`--packagepath`) sea el mismo para todos los hosts.
6173886, 6253132 | `createdomain` puede que falle. Si el agente de administración se está ejecutando en un host con varias interfaces de red, es posible que el comando createdomain presente errores si no están todas las interfaces de red en la misma subred:
    hadbm:Error 22020: The management agents could not establish a
    domain, please check that the hosts can communicate with UDP multicast.
Los agentes de administración, a menos que estén configurados de otra forma, usarán la "primera" interfaz para difusiones UDP (se entiende como "primera" interfaz el resultado de `java.net.``NetworkInterface.getNetworkInterfaces()` ). Solución La mejor solución es indicarle al agente de administración qué subred debe utilizar (defina `ma.server.mainternal.interfaces` en el archivo de configuración, por ejemplo, `ma.server.mainternal.interfaces=10.11.100.0`). Otra opción es configurar el enrutador entre las subredes para que dirija los paquetes de difusión (el agente de administración utiliza la dirección de difusión 228.8.8.8). Antes de volver a intentarlo con una configuración nueva de los agentes de administración, puede que deba limpiar el repositorio del agente de administración. Detenga todos los agentes del dominio, y elimine todos los archivos y directorios del directorio del repositorio (se identifican mediante `repository.``dr.path` en el archivo de configuración del agente de administración). Esta acción debe realizarse en todos los hosts antes de reiniciar los agentes con un nuevo archivo de configuración.
6190878 | Es necesario limpiar los directorios tras la eliminación de una instancia de HADB. Una vez eliminada una instancia de HADB, fallarán los intentos siguientes de crear nuevas instancias con el comando `configure-ha-cluster`. El problema es que los antiguos directorios permanecen en la instancia de HADB original en `ha_install_dir/rep/*` y `ha_install_dir/config/hadb/``instance_name` . Solución: Asegúrese de que elimina manualmente estos directorios tras eliminar una instancia de HADB.
6230792, 6230415 | El inicio, la detención y la reconfiguración de HADB pueden fallar o generar bloqueos. En Solaris 10 Opteron, el inicio, la detención o la reconfiguración de HADB usando el comando `hadbm` pueden fallar o generar bloqueos con alguno de los siguientes errores:
    hadbm:Error 22009: The command issued had no progress in the last
    300 seconds.
    HADB-E-21070: The operation did not complete within the time limit,
    but has not been cancelled and may complete at a later time.
Esto puede suceder si hay incoherencias al leer o escribir en un archivo (`nomandevice`) que esté utilizando el proceso `clu_noman_srv`. Este problema se puede detectar buscando los siguientes mensajes en los archivos del historial de HADB:
    n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733
    does not respond.
    n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Have not heard from it in
    104.537454 sec.
    n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733
    did not start.
Solución La siguiente solución no se ha probado, puesto que no se ha reproducido el problema manualmente. Sin embargo, la ejecución de este comando para el nodo afectado debería resolver el problema.
    hadbm restartnode --level=clear nodeno dbname
Tenga en cuenta que se reiniciarán todos los dispositivos del nodo. También es posible que haya que detener el nodo antes de reiniciarlo.
6232140 | El agente de administración termina con la excepción `"IPV6_MULTICAST_IF failed"`. Cuando se inicia en un host que ejecuta Solaris 8 con varias tarjetas NIC instaladas, si hay una mezcla de tarjetas con IPv6 e IPv4 habilitados, el agente de administración puede terminar con la excepción `"IPV6_MULTICAST_IF failed."`.`"` Solución Defina la variable de entorno `JAVA_OPTIONS` en `-Djava.net.preferIPv4Stack=true` como, por ejemplo:
    export JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
De lo contrario, use Solaris 9 o una versión posterior que no esté afectada por este problema.
6249685 | `clu_trans_srv` no se puede interrumpir. Hay un error en la versión de 64 bits de Red Hat Enterprise Linux 3.0 que hace que el proceso `clu_trans_srv` termine en modo sin interrupción cuando se realiza una E/S asíncrona. Esto significa que kill -9 no funciona y el sistema operativo debe reiniciarse. Solución Use una versión de 32 bits de Red Hat Enterprise Linux 3.0.
6262824 | `hadbm` no admite contraseñas que contengan letras mayúsculas. Las letras mayúsculas en las contraseñas se convierten en minúsculas cuando la contraseña se almacena en `hadb`. Solución No use contraseñas que contengan letras mayúsculas.
6265419 | Retroceder en las versiones de HADB 4.4.2.5 a HADB 4.4.1.7 hace que ma falle con distintos códigos de error. Al retroceder en las versiones, el agente de administración puede fallar con distintos códigos de error. Solución Es posible retroceder en la versión de la base de datos de HADB, sin embargo, el agente de administración no podrá retroceder en su versión si se han hecho cambios en los objetos del repositorio. Después de retroceder en la versión, deberá usar el agente de administración de la última versión de HADB.
6271063 | Instalación, eliminación y conservación de `symlink`. Con respecto a la instalación o eliminación del paquete de HADB (Solaris: `SUNWhadbc`, Linux: `sun-hadb-c`) versión <m.n.u-p>, `symlink /opt/SUNWhadb/<m>` no se modifica una vez creado. En consecuencia, es posible que exista un `symlink` huérfano. Solución Elimine el `symlink` antes de la instalación o después de la desinstalación, a menos que esté en uso.
6273681 | Es posible que interfieran los agentes de administración en las zonas locales y globales. En Solaris 10, al detener el agente de administración usando la secuencia de comandos ma-initd en una zona global, se detiene también el agente de administración en la zona local. Solución No instale el agente de administración en la zona global y la local.
6275103 | `hadbm/ma` debería generar un mensaje de error más claro cuando un objeto de sesión ha caducado y se ha eliminado de MA. En ocasiones, un problema de contención de recursos en el servidor puede hacer que un cliente de administración se desconecte. Al volverse a conectar, se puede mostrar un mensaje de error algo confuso `"hadbm:``Error 22184:` `A password is required to connect to the management agent"`. Solución Compruebe si hay algún problema con los recursos en el servidor, realice las acciones necesarias (por ejemplo, agregue más recursos) y vuelva a intentar la operación.
6275319 | Los usuarios que no son root no pueden administrar HADB. La instalación de Java Enterprise System (como root) no permite que los usuarios que no sean root administren HADB. Solución Inicie sesión siempre como root para poder administrar HADB.
6293912 | El agente de administración no debería usar interfaces especiales. Las interfaces de uso especial con direcciones IP similares a `0.0.0.0` no deberían registrarse como interfaces válidas para los nodos de HADB en el agente de administración. El registro de dichas interfaces podría provocar problemas si los nodos de HADB se configuran en estas interfaces mediante la ejecución del comando `hadbm create` por parte del usuario con nombres de host en lugar de con direcciones IP. Los nodos no podrán establecer comunicación, lo que provocara el bloqueo del comando `create`. Solución Al utilizar `hadbm create` en hosts con varias interfaces, especifique siempre explícitamente las direcciones IP con una notación DDN.
6291562 | Errores de reensamblaje en Windows. En la plataforma Windows, con determinadas configuraciones y cargas, es posible que se produzca un gran número de errores de reensamblaje en el sistema operativo. Se ha detectado este problema con configuraciones de más de veinte nodos al ejecutar varios análisis de tabla (`select *`) en paralelo. Entre los síntomas detectados, se incluyen los siguientes: las transacciones se anulan frecuentemente, el proceso de reparación o recuperación tarda mucho tiempo en completarse, y se agota frecuentemente el tiempo de espera en diversas partes del sistema. Solución Para solucionar el problema, puede establecer la variable del registro de Windows `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters` en un valor superior a `100` (valor predeterminado). Se recomienda que aumente este valor a `0x1000` (`4096`). Para obtener más información, consulte el artículo 811003 en las páginas de asistencia técnica de Microsoft.
6303581, 6346059, 6307497 | Al ejecutar `hadbm start` `<db_name>`, parte de la contraseña introducida se muestra sin ocultar. Es posible que, cuando un equipo esté realizando una carga, el mecanismo de ocultación falle y se expongan algunos caracteres de la contraseña introducida. Esto representa un riesgo de seguridad menor y la contraseña debería estar siempre oculta. Solución: Guarde las contraseñas en sus propios archivos de contraseñas (el método recomendado normalmente desde Application Server 8.1) y consúltelas con las opciones `--adminpassword` o `--dbpasswordfile`.

# Instalación

Este apartado describe problemas conocidos relacionados con la instalación, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
5009728 | Al cerrar la instalación, algunos sistemas Linux se quedan bloqueados tras hacer clic en el botón Finish (Finalizar). 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 Linux Red Hat. Después de hacer clic en el botón "Finalizar" en la última pantalla, el instalador 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 instalador se bloquea completamente y no permite volver a la línea de comandos. Solución Salga de instalador pulsando `Ctrl+C` en la ventana de terminal en la que se inició el instalador. Después de hacer esto, es posible que se muestre una ventana del explorador que contiene información acerca del producto o la pantalla de registro, de lo contrario, inicie el navegador y escriba la siguiente dirección URL para ver la información acerca del producto:
    file://install_dir/docs-ee/about.html
Si seleccionó la opción pertinente para registrar el producto, siga el enlace a la página de registro que se mostrará en la página de información sobre el producto.
1. 6199697 | En Windows, el directorio imq debe crearse durante la instalación. En Windows, justo después de instalar Application Server Enterprise Edition, el agente de Message Queue presenta errores durante el inicio y se muestra un mensaje en el que se indica que no existe el directorio `drive:\as\domains\domain1\imq`. Tenga en cuenta que si el agente se ejecuta después de iniciar `domain1`, Application Server creará el directorio y no habrá ningún problema. Solución Cree `var_home_dir_location` antes de crear el agente:
       $imqbrokerd -varhome var_home_dir_location
   Por ejemplo:
       $imqbrokerd -varhome D:\as\domains\domain1\imq
6297837 | El instalador de Application Server muestra una fecha de versión del producto incorrecta en el nombre del producto, "Sun Java(TM) System Application Server Enterprise Edition 8.1 2005Q4". Solución El nombre y la fecha del producto correctos son "Sun Java(TM) System Application Server Enterprise Edition 8.1 2005Q2".
6396045 | Application Server no admite el Sistema de archivos de red (NFS). Solución None (Ninguna).

# Tutorial J2EE

Para ejecutar el tutorial de J2EE 1.4 en Sun Java System Application Server Edición Enterprise 8.1 2005Q2, lleve a cabo estas tareas:

- Cuando edite el archivo `/common/build.properties` tal y como se describe en el apartado “About the Examples” del capítulo “About this Tutorial”, cambie también el puerto 4848 por el 4849.

- Cuando use la herramienta de implementación (Deploytool), agregue el servidor `localhost:4849` antes de implementar un ejemplo.

- Cuando utilice la consola de administración para crear un recurso, use la ficha Targets (Destinos) para especificar el servidor como el destino. Si utiliza la línea de comandos o un destino `asant`, el servidor es el destino predeterminado y no es necesario realizar ninguna acción adicional.

# Gestió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.

ID del error | Resumen
--- | ---
6193449 | Después de configurar la propiedad de `ejb-timer-service` "minimum-delivery-interval" en 9000, cualquier intento por definir la propiedad `redelivery-interval-in-mills` de `ejb-timer-service` en 7000 provoca que el comando "set" falle y muestre el siguiente error:
    [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.
`minimum-delivery-interval` es el intervalo mínimo de duración entre las entregas del mismo temporizador periódico. `redelivery-interval-in-mills` es el tiempo que debe esperar el servicio del temporizador para volver a intentar la entrega después de que se haya producido un fallo en `ejbTimeout`. El problema es que la lógica que relaciona la propiedad de intervalo de reentrega con la propiedad de entrega mínima es incorrecta e impide que se utilice la GUI o la CLI para definir valores en los que el intervalo de entrega mínimo sea superior al intervalo de reentrega. `minimum-delivery-interval-in-millis` debe ser igual o mayor que la propiedad `redelivery-interval-in-millis` de `ejb-timer-service`.. El problema es que se produce una comprobación de validación errónea en Application Server para verificar que el valor de `redelivery-interval-in-millis` es mayor que el valor de `minimum-delivery-interval-in-millis`. 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

Este apartado describe problemas conocidos relacionados con el registro, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
6180095 | La definición de la instrucción para `access,failure` provoca que Application Server se bloquee en el inicio. Si configura la opción `java.security.debug` para JVM, la instancia del servidor se bloqueará irreversiblemente al iniciarse; por ejemplo, si configura `domain.xml`, se producirá este problema:
    <jvm-options>-Djava.security.debug=access,failure</jvm-options>
Ninguna por ahora. Evite configurar este indicador.

# Message Queue

Este apartado describe problemas conocidos relacionados con Java Message Queue, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
6173308, 6189645, 6198481, 6199510, 6208728 | Las reconexiones de JMS no se completan correctamente en ciertos casos que dependen de temporizadores. Los errores al volverse a conectar en situaciones que dependen de temporizadores pueden estar causados por diversos problemas. Solución Puede solucionarlos de esta forma: Reinicie los agentes involucrados Reinicie las instancias involucradas de Application Server
6198465 | El comportamiento del dispositivo de escucha de mensajes asíncrono ha cambiado en `appclient` de la versión 8.0 a 8.1 Update 2. Debido a un cambio reciente, cuando una escucha de mensaje asíncrono es el único subproceso activo en el contenedor `app-client`, el resto de la máquina virtual (VM) `appclient` existe en forma de daemon. Este comportamiento supone un regreso para las aplicaciones anteriores que realizaban recepciones asíncronas en ACC. Este problema afecta a los clientes de la aplicación que configuran un módulo de escucha de mensajes JMS y salen del subproceso principal. Solución No salga del subproceso principal. Espere a que la escucha del mensaje informe al subproceso principal antes de detenerlo.

# Supervisión

Este apartado describe problemas conocidos relacionados con la supervisión, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
6174518 | Algunas de las estadísticas de supervisión de servicios HTTP no presentan información útil y hay que hacer caso omiso de ellas. Al visualizar las estadísticas de supervisión de algunos elementos en el servicio HTTP, algunos valores que se presentan no se corresponden con los valores reales o se muestran siempre como 0. Específicamente, las siguientes estadísticas de servicio HTTP no muestran información aplicable para Application Server y, en consecuencia, hay que hacer caso omiso de ellas: `http-service` `load1MinuteAverage` `load5MinuteAverage` `load15MinuteAverage` `rateBytesTransmitted` `rateBytesReceived` `pwc-thread-pool` (the element) Solución Estos elementos de supervisión se eliminarán en versiones futuras y se sustituirán por información más adecuada.
6191092 | No se ha eliminado la supervisión MBean para un módulo EJB, a pesar de que todas las estadísticas relacionadas con este nombre de supervisión se han movido. Por ejemplo:
    EJBModuleMonitorMap().size() = 1  eventhough ejb module is
    undeployed EJBModuleMonitor().getName() = sqe_ejb_s1_01
Este hecho es verdadero para aplicaciones y módulos EJB. Desde el punto de vista de la programación (mediante MBeanAPI) y mediante `asadmin list/get`, sigue existiendo todavía un MBean de supervisión vacío. Diagnóstico
    asadmin list -m "server.applications" shows the following output:
    server.applications.MEjbApp
    server.applications.__ejb_container_timer_app
    server.applications.adminapp
    server.applications.admingui
    server.applications.com_sun_web_ui
    server.applications._export_install_nov-11_domains_domain1_applications
    _j2ee-modules_sqe_ejb_s1_01
Puede consultar las estadísticas:
    bin/asadmin list -m "server.applications._export_install_nov-11_domains
    _domain1_applications_j2ee-modules_sqe_ejb_s1_01"
    server.applications._export_install_nov-11_domains_domain1_applications_
    j2ee-modules_sqe_ejb_s1_01.SQEMessage
    server.applications._export_install_nov-11_domains_domain1_applications_
    j2ee-modules_sqe_ejb_s1_01.TheGreeter
Una vez que anule la implementación:
    _export_install_nov-11_domains_domain1_applications_j2ee-modules_sqe_
    ejb_s1_01
Si ejecuta un comando de enumeración, seguirá viendo la aplicación:
    asadmin list -m "server.applications"
    server.applications.MEjbApp
    server.applications.__ejb_container_timer_app
    server.applications._export_install_nov-11_domains_domain1_applications_
    j2ee-modules_sqe_ejb_s1_01
    server.applications.adminapp
    server.applications.admingui
    server.applications.com_sun_web_ui
pero no contiene estadísticas de supervisión:
    asadmin list -m "server.applications._export_install_nov-11_domains_
    domain1_applications_j2ee-modules_sqe_ejb_s1_01"
    Nothing to list at server.applications.-export-install-nov-11-domains-
    domain1-applications-j2ee-modules-sqe-ejb-s1-01.
Para obtener los nombres válidos que comiencen por una cadena, utilice el carácter comodín ("``*`"). Por ejemplo, para enumerar los nombres de todas las entidades que se pueden supervisar que comiencen por server, use list "`server.*`". Solución Es un problema inocuo. El módulo se puede volver a implementar con seguridad sin que se produzcan problemas. La supervisión raíz Mbean no se elimina, sino que se queda vacía.

# PointBase

Este apartado describe problemas conocidos relacionados con PointBase, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
6184797 | Al definir los niveles de aislamiento de un conjunto de conexiones para una aplicación se genera una excepción en PointBase. En el caso de un conjunto de conexiones JDBC que señale a una instalación de base de datos PointBase, al definir el atributo transaction-isolation-level pool en cualquier valor distinto del predeterminado (`Connection.``TRANSACTION_READ_COMMITTED`) se generará una excepción. Sin embargo, si establece este mismo parámetro en un valor que no sea el predeterminado para los conjuntos que hacen referencia a otras bases de datos, no se producirá ninguna excepción. Solución En el caso de los conjuntos de conexiones JDBC que hacen referencia a una instalación de base de datos PointBase, no intente configurar la opción `transaction-isolation-level`.
6204925 | PointBase desencadena una excepción si un servidor de red y los controladores integrados se utilizan conjuntamente. En ocasiones, la aplicación PointBase integrada desencadena una excepción si el controlador del servidor de red y el controlador integrado se utilizan simultáneamente. Solución Use el controlador integrado o uno de red, pero no los dos juntos.
6264969, 6275448 | Se producen problemas de actualización cuando se sobrescribe la base de datos predeterminada de PointBase. Al actualizar a Application Server Edición Enterprise 8.1 2005Q2 Actualización 2, la revisión de la versión de actualización sobrescribe la base de datos predeterminada de Pointbase. Solución Vuelva a crear o a introducir los esquemas o los datos que existían antes de la actualización. Si ha implementado aplicaciones con Beans CMP con la opción para generar tablas, deberá anular la implementación o volver a implementar la aplicación para que se vuelvan a generar las tablas.

# Ejemplos

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

ID del error | Resumen
--- | ---
- 6195092 | En Windows, al usar el comando setup-one-machine-cluster se produce un bloqueo, pero funciona en Solaris; el comando `mqfailover` requiere que se pulse `Ctrl+C` para cancelar el proceso. A continuación, se debe volver a realizar la ejecución. Desde `install_dir\samples\ee-samples\failover\apps\mqfailover\docs\index.html,` si se ejecutan los siguientes comandos: Consola 1
      cd install_dir\samples\ee-samples asant start-mq-master-broker1
- Consola 2
      cd install_dir\samples\ee-samples asant start-mq-cluster-broker1
- Consola 3
      cd install_dir\samples\ee-samples asant start-mq-cluster-broker2
- Consola 4
      cd install_dir\samples\ee-samples asadmin start-domain domain1
Si ya ha ejecutado `asant setup-one-machine-cluster-without-ha` o `asant setup-one-machine-cluster-with-ha` para otro ejemplo de Enterprise Edition, ejecute `asant configure-mq` o bien `asant setup-one-machine-cluster-and-configure-mq`. En este caso, el comando parece que se ejecuta correctamente:
    start_nodeagent: [echo] Start the node agent cluster1-nodeagent
    [exec] Command start-node-agent executed successfully.
Pero el sistema se bloquea definitivamente. Solución Ninguna por ahora. Este problema afecta de forma parecida a todos los ejemplos de Enterprise Edition que utilizan este destino ant en Windows. Una solución consiste en pulsar `Ctrl+C` para cancelar el proceso y luego volver a ejecutarlo.
6198003 | La documentación no indica de forma explícita que es necesario crear recursos de JMS antes de ejecutar la Aplicación de muestras de errores de MQ siguiendo las instrucciones de implementación de `asadmin`. El error que se produce es el siguiente:
    /opt/SUNWappserver/domains/domain1/config/sun-acc.xml -name
    MQFailoverTestClient -textauth -user j2ee -password j2ee
    Nov 18, 2004 10:50:17 PM com.sun.enterprise.naming.NamingManagerImpl
    bindObjects
    SEVERE: NAM0006: JMS Destination object not found: jms/durable/TopicA
    Nov 18, 2004 10:50:18 PM com.sun.enterprise.naming.NamingManagerImpl
    bindObjects
    SEVERE: javax.naming.NameNotFoundException
    javax.naming.NameNotFoundException
La documentación no indica explícitamente que los recursos JMS se deban crear manualmente si se lleva a cabo una implementación manual utilizando comandos `asadmin deploy` ni que haya que usar los destinos Ant especificados para implementar la aplicación de ejemplo. Solución Use el destino de implementación `asant` para la secuencia de comandos `build.xml`, lo que crea los recursos JMS necesarios para ejecutar la aplicación.
6198239 | En Linux, se muestra un error de tiempo de ejecución durante la creación de certificados en los ejemplos de seguridad/servicios Web. Cuando se implementa el ejemplo `install_dir/samples/webservices/security` (`basicSSl`) en Linux, el certificado no se crea y se muestra un error similar al siguiente:
    generate_certs: [echo] ***Exporting certificate from NSS database
    [exec] Result: 1 [echo] ***Generating Java Keystore from generated
    certificate [exec] keytool error: java.lang.Exception: Input not an
    X.509 certificate [exec] Result: 1 [echo] ***Generating Java trust
    store from generated certificate [exec] keytool error: java.lang.
    Exception: Input not an X.509 certificate [exec] Result: 1
    .
    .
    .
    generate_certs: [echo] ***Exporting server certificate from NSS database to
    a PKCS12 certificate file [exec] /opt/sun/appserver/lib/pk12util: /usr/lib/
    libnss3.so: version `NSS_3.9' not found (required by /opt/sun/appserver/lib/
    pk12util) [exec] /opt/sun/appserver/lib/pk12util: /usr/lib/libnss3.so:
    version `NSS_3.6' not found (required by /opt/sun/appserver/lib/pk12util)
    [exec] /opt/sun/appserver/lib/pk12util: /usr/lib/libnss3.so: version
    `NSS_3.7' not found (required by /opt/sun/appserver/lib/pk12util) [exec]
    Result: 1
- El problema es que la ubicación de las bibliotecas NSS es distinta en Linux y en Solaris. Debe asegurarse de que `LD_LIBRARY_PATH` señale a las bibliotecas NSS adecuadas a la hora de realizar la implementación en Linux. Defina `LD_LIBRARY_PATH` en su entorno o bien ajuste la secuencia de comandos del empaquetador del shell `install_dir/bin/asant`. Solución Lleve a cabo una de las siguientes acciones: Configure `LD_LIBRARY_PATH=/opt/sun/private/lib`. Agregue la siguiente línea a la secuencia de comandos `install_dir /bin/asant`.
      LD_LIBRARY_PATH=$AS_NSS:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH

# Seguridad

Este apartado describe problemas conocidos relacionados con los certificados y la seguridad de las aplicaciones web y Application Server, junto con las soluciones pertinentes.

ID del error | Resumen
--- | ---
6183318 | No se pueden ejecutar aplicaciones `WebServiceSecurity` en Enterprise Edition con J2SE 5.0. Las aplicaciones `WebServiceSecurity` no se pueden ejecutar con J2SE 5.0 por los siguientes motivos: J2SE 5.0 PKCS11 no es compatible con el modo UNWRAP J2SE 5.0 PKCS11 no admite `RSA/ECB/OAEPWithSHA1AndMGF1Padding` con PKCS11 El equipo de J2SE ha indicado acerca de este error que se agregue compatibilidad para los mecanismos de empaquetado y desempaquetado RSA-PKCS1 y RSA-OAEP (CR 6190389). Solución Use J2SE 1.4.2 con cualquier otro proveedor JCE (no el que se incluye de forma predeterminada). Tenga en cuenta que la compatibilidad con el acelerador de hardware no está presente en esta configuración.
6269102 | El proceso de finalización de SSL no funciona; cuando se configura el equilibrador de carga (hardware) para la finalización de SSL, Application Server cambia el protocolo `https` por `http` durante la redirección. Solución Agregue un equilibrador de carga de software entre el equilibrador de carga de hardware y Application Server.

# Utilidad de actualización

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

ID del error | Resumen
--- | ---
6165528 | Los dominios creados en una ruta personalizada distinta del directorio `install_dir /domains` no se actualizan directamente al actualizar de Application Server Enterprise Edition 8 a Application Server Enterprise Edition 8.1. 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` .
2. 6207337 | En algunos sistemas Linux, el instalador que realiza una actualización "in situ" falla al iniciar la herramienta de actualización después de iniciar el asistente de actualización. 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 Red Hat. Después de hacer clic en el botón que permite iniciar la herramienta de actualización en la pantalla final del instalador, é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 línea de comandos para llevar a cabo la actualización "in situ". Si realiza dicha actualización en modo de GUI y se encuentra con este problema, salga del instalador pulsando Ctrl+C en la ventana de terminal en la que se inició el instalador. 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
3. adminuser y adminpassword deben coincidir con los valores usados para la instalación que esté actualizando. Cuando la herramienta de actualización complete el proceso, podrá iniciar también el explorador y especificar la siguiente URL para visualizar la página que muestra información acerca del producto:
       file://install_dir/docs-ee/about.html
Si seleccionó la opción pertinente para registrar el producto, siga el enlace a la página de registro que se mostrará en la página de información sobre el producto.
6296105 | El certificado autofirmado no se considera de confianza al actualizar de 8.0 Platform Edition (PE) a 8.1 Enterprise Edition (EE) UR2 y después de la actualización. Solución Elimine las siguientes entradas del destino `domain.xml` (después de la actualización) y reinicie el servidor:
    <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}
    /config/keystore.jks</jvm-options>-
    <jvm-options>Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}
    /config/cacerts.jks</jvm-options>

# Contenedor web

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

ID del error | Resumen
--- | ---
5004315 | En Windows, si implementa una aplicación usando `--precompilejsp=true`, es posible que los archivos JAR se bloqueen, lo que provocará errores si en el futuro desea volver a implementar o anular la implementación. 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 de la aplicación siguen estando en el servidor. El archivo de registro del servidor contiene mensajes en los que se indica que no se han podido eliminar los archivos ni el directorio de la aplicación. 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 una aplicación que utilice el mismo ID de módulo que la aplicación que se implementó originalmente porque el servidor utiliza dicho ID de módulo cuando elige el nombre del directorio para conservar los archivos de la aplicación. Si intenta reimplementar la aplicación sin anular su implementación primero, se producirán fallos por las mismas razones. Diagnóstico Si intenta volver a implementar la aplicación o implementarla después de haberla eliminado, la utilidad asadmin devuelve un error semejante 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't
    be deleted.
Solución No se producirá este problema, si especifica `--precompilejsps=false` (la configuración predeterminada) al implementar una aplicación. Tenga en cuenta que el primer uso que haga de la aplicación desencadenará la compilación JSP, por lo que el tiempo de respuesta para la primera solicitud será superior al de 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.
6172006 | No se puede implementar WAR con un archivo `web.xml` basado en Servlet 2.4 que contenga un elemento `<load-on-startup>` vacío. 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 entero que indica el orden en el que se debe cargar e iniciar el servlet con respecto a los demás servlets de la aplicación web. Si `<load-on-startup>` está vacío, 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 `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.
6184122 | No se puede compilar la página JSP en servidores con restricciones de recursos. 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 Defina el conmutador de compilación "fork" de JSP en "false". Esta acción puede realizarse de dos formas: Globalmente, al configurar el parámetro fork init de JspServlet en `${S1AS_HOME}/domains/domain1/config/default-web.xml` en false:
      <servlet> <servlet-name>jsp</servlet-name>
      <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
      .... <init-param>
      <param-name>fork</param-name> <param-value>false</param-value>
      </init-param> .... </servlet>
- En cada aplicación web, configurando la propiedad de configuración JSP fork de `sun-web.xml` en false:
      <sun-web-app> <jsp-config> <property name="fork" value="false" />
      </jsp-config> </sun-web-app>
Las dos configuraciones impedirán que ant genere nuevos procesos para la compilación javac.
6188932 | Application Server no admite el complemento `auth-passthrough` de Web Server 6.1. Sun Java System Application Server Edición Enterprise 8.1 2005Q2 Actualización 2 agrega compatibilidad para la función proporcionada por la función del complemento `auth-passthrough` que está disponible con Sun Java System Application Server Edición Enterprise 7.1. Sin embargo, en Application Server Edición Enterprise 8.1 2005Q2 Actualización 2, la función del complemento `auth-passthrough` está configurada de forma diferente. La función del complemento `auth-passthrough` en Application Server Edición Enterprise 7.1 ha resultado útil en situaciones de implementación de dos capas: La instancia de Application Server está protegida por un segundo servidor de seguridad detrás del servidor de seguridad corporativo. No se permiten conexiones de clientes directamente a la instancia de Application Server: En arquitecturas de red de este tipo, un cliente se conecta a un servidor web de principal (front-end) que se haya configurado con la función del complemento `service-passthrough` y reenvía solicitudes HTTP a la instancia de Application Server que actúa de proxy para que las procese. La instancia de Application Server sólo puede recibir solicitudes desde el proxy del servidor web, pero nunca directamente de los hosts clientes. En consecuencia, ninguna aplicación implementada en la instancia de Application Server que actúa de proxy que solicite información del cliente (como pueda ser la dirección IP del cliente) recibirá la IP de host del proxy, puesto que éste es el host que origina la solicitud remitida. En Application Server Edición Enterprise 7.1, la función del complemento `auth-passthrough` se puede configurar en la instancia de Application Server que actúa como proxy para hacer que la información de los clientes remotos esté disponible directamente para todas las aplicaciones implementadas; de esta forma, el funcionamiento es como si la instancia de Application Server que actúa de proxy hubiera recibido la solicitud directamente en lugar de a través del servidor web intermediario que ejecuta el complemento `service-passthrough`. En Application Server Edición Enterprise 8.1 2005Q2 Actualización 2, la función `auth-passthrough` puede activarse definiendo la propiedad `authPassthroughEnabled` del elemento `<http-service>` de `domain.xml` en TRUE de la siguiente forma:
    <property name="authPassthroughEnabled" value="true"/>
| Las mismas consideraciones de seguridad de la función del complemento `auth-passthrough` de Application Server Edición Enterprise 7.1 se aplican también a la propiedad `authPassthroughEnabled` de Application Server Edición Enterprise 8.1 2005Q2 Actualización 2. Como, con `authPassthroughEnabled` , es posible sustituir la información que se podría utilizar para propósitos de autenticación (como la dirección IP desde la que se origina la solicitud o el certificado SSL de cliente), es esencial que sólo los clientes o los servidores de confianza puedan conectarse a la instancia de Application Server Edición Enterprise 8.1 2005Q2 Actualización 2 con el comando `authPassthroughEnabled` definido como TRUE (verdadero). Como medida de precaución, se recomienda que sólo los servidores que estén detrás de un servidor de seguridad corporativo se configuren con `authPassthroughEnabled` establecido en TRUE. Un servidor que esté accesible a través de Internet nunca debe configurarse con `authPassthroughEnabled` definido en TRUE. Tenga en cuenta que en una situación en la que el servidor web proxy se haya configurado con el plugin `service-passthrough` y éste reenvíe solicitudes a una instancia de Application Server 8.1 Update 2 con `authPassthroughEnabled` definida como TRUE, la autenticación SSL de cliente puede habilitarse en el servidor web proxy y deshabilitarse en la instancia de Application Server 8.1 Update 2 que actúe de proxy. En este caso, la instancia de Application Server 8.1 Update 2 seguirá considerando la solicitud como si estuviera autenticada a través de SSL y proporcionará el certificado SSL de cliente a cualquier aplicación implementada que lo solicite.

- Previous: Capítulo 2 Acerca de Application Server Edición Enterprise 8.1 2005Q2

- © 2010, Oracle Corporation and/or its affiliates