Notas de la version de Sun Java System Application Server Enterprise 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 Edición Enterprise 8.2. 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

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

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

Descripción

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:

La instalación del complemento de equilibrado de carga sobrescribirá un complemento existente. (ID 6172977)

Descripción

Si instala el complemento de equilibrado de carga en una instalación de Application Server que ya tiene un complemento de equilibrador de carga instalado (por ejemplo, de 7.1EE), entonces el complemento de 8.2EE reemplazará cualquier equilibrador de carga existente, incluso si ha creado una nueva instancia de servidor en la que ejecutará el complemento.

Los archivos de complemento se instalan de forma predeterminada en el directorio install_dir /plugins/lbplugin, lo que significa que sólo se puede utilizar una versión de un complemento con una instalación de Application Server. Tenga en cuenta que el programa de instalación de la consola muestra un mensaje que indica que se está realizando una desinstalación, pero este mensaje a veces puede ser fácil de pasar por alto.

Solución

No todo el mundo se encontrará con este problema. Si surge este problema, elimine la instalación antigua de Application Server e instale una nueva en lugar de realizar una instalación mediante actualización.

Varios cambios en la secuencia de comandos asadmin en JES3 Application Server 8.2 en comparación con JES2 AS7. (ID 6189433, 6189436)

Se han realizado varios cambios en el comando asadmin en Application Server 8.2 en comparación con Application Server 7.x. Por ejemplo, en 7.x, el comando que inicia una instancia de servidor es:


asadmin start-instance

En 8.2, el comando equivalente es:


asadmin start-domain --user admin domain1

Consulte los siguientes documentos para obtener información completa sobre la última sintaxis del comando asadmin:

Se han cambiado los puertos predeterminados en Application Server (ID 6198555)

Descripción

Al actualizar a JES5/Application Server 8.2 de JES2/Application Server 7. x, puede que experimente incompatibilidades o errores debido a que se han cambiado los puertos predeterminados.

Solución

Consulte Otros requisitos al comienzo de estas notas para ver una lista de los puertos predeterminados utilizados en Application Server 8.2.

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

Descripción

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)

Descripción

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

En UNIX, los permisos de ejecución excesivamente restrictivos de Application Server inician y detienen las secuencias de comandos. (ID 6206176)

Descripción

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

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. (ID 6236544, 6275436)

Descripción

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

  1. 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"/>
  2. Sustituya el valor de context-root-name con el nombre root del contexto del servicio web que se expuso como EJB.

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

Descripción

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.


Si se reinicia Application Server mediante sun-appserv-admin se genera un error LoginException. (ID 6288893)

Descripción

Este problema lo genera un valor erróneo de %CONFIG_HOME%.

Solución

  1. Cambie el nombre del elemento existente a asant.bak.

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

  3. Edite la secuencia de comandos <as_install> /bin/asant que acaba de copiar sustituyendo el token %CONFIG_HOME% por <as_install>/config.

  4. Si se ha efectuado algún cambio manual en el archivo asant.bak original, combínelo con la nueva secuencia de comandos asant.

El archivo .asadmintruststore no se describe en la documentación de Application Server. (ID 6315957)

Descripción

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

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

Descripción

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.

La configuración del equilibrador de carga cambia enmagnus.conf y obj.conf se sobrescribe. (ID 6394181)

Descripción

Después de crear un archivo http-listener seguro e instalar lbplugin, los archivos magnus.conf y obj.conf en webserver_instance_dir/config se modifican y el contenido de lbplugin se elimina.

El programa de instalación modifica los archivos de configuración magnus.conf y obj.conf de Application Server como parte de la instalación del complemento de equilibrador de carga. Si inicia una sesión en la consola de administración de Application Server e intenta administrar la configuración de instancias para la instancia en la que el equilibrador de carga se ha instalado, Application Server muestra un mensaje de advertencia en el que se indica que han detectado modificaciones manuales en la configuración. Esta advertencia, en realidad, hace referencia a los cambios que ha realizado el programa de instalación.

Solución

Compruebe que los cambios realizados por el programa de instalación no se han sobrescrito.

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.

La guía de administración de alta disponibilidad contiene instrucciones incorrectas sobre el uso de openssl con Apache. (ID 6306784)

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.

La guía de administración de alta disponibilidad no contiene instrucciones sobre el uso de un certificado de Apache 2.0. (ID 6307976)

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.

Debe iniciar Apache Web Server como root. (ID 6308021)

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.

Adición a las instrucciones de uso de openssl con Apache Web Server 2.0 en Solaris. (ID 6308043)

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.

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

Descripción

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)

Descripción

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.

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. (ID 6165970)

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 Sun Java System Application Server Enterprise Edition 8.2 Administration Guide para obtener más información sobre la configuración de conjuntos de conexión.

Errores de PreparedStatement. (ID 6170432)

Descripció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 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 Sun Java System Application Server Enterprise Edition 8.2 Administration Guide para más información sobre la configuración de conjuntos de conexión.

Descripció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 2

Aumente el parámetro de configuración APPLHEAPSZ del servidor DB2 Un valor adecuado es 4096.

Descripció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 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 Sun Java System Application Server Enterprise Edition 8.2 Administration Guide para obtener instrucciones.

Surgen problemas al definir el nivel de aislamiento con el controlador integrado de Sun para Sybase Adaptive Server. (ID 6189199)

Descripción

Solución

Ninguna por ahora.

En Solaris 10 y Enterprise Linux 3.0, el controlador Oracle JDBC integrado de Sun no permite la creación de una conexión. (ID 6247468)

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 anterior deberá cambiarse a "dedicated".

Sellar excepción de infracción java.lang.SecurityException(ID 6554602)

Descripción

Comience con controladores JDBC 10.2, si tiene más de un archivo jar JDBC en CLASSPATH puede que resulte en java.lang.SecurityException: Sealing violation exception.

Una explicación detallada de Oracle está documentada en el siguiente ID de Documento Oracle:

Note:405446.1 Subject: JDBC Driver 10.2 Uses Sealed JAR files and May Cause SecurityException Sealing Violation

Solución

(Suggested by Oracle) Make sure that the CLASSPATH includes only one JDBC driver JAR file.

Conectores

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

Después de reiniciar la instancia de DAS, la anulación de la implementación del módulo del conector falla cuando la opción de cascada está definida en "false" (falso). (ID 6188343)

Descripción

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.

JMS create-jms-resource; CLI no establece los valores predeterminados correctamente. (ID 6294018)

Descripción

Como no puede especificar los tamaños mínimo y máximo del conjunto al crear un nuevo recurso JMS desde la línea de comandos con el comando asadmin create-jms-resource, se supone que el comando asadmin crea el recurso utilizando los valores de tamaño del conjunto predeterminados (mínimo 8, máximo 32). Sin embargo, éste no es el caso. En su lugar, la creación del recurso desde la línea de comandos da como resultado los tamaños de conjunto mínimo y máximo predeterminados, 1 y 250 respectivamente.

Solución

Una vez creado un recurso JMS desde la línea de comandos, utilice la consola de administración para modificar los valores de tamaño de conjunto mínimo y máximo.

Documentación

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

Incoherencias en Javadoc (varios ID)

Falta Javadoc o es incorrecto para varios métodos e interfaces AMX:

El ANT integrado genera java.lang.NoClassDefFoundError . (ID 6265624)

Descripción

La siguiente excepción fue iniciada en subproceso main: 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.

La documentación acerca de las opciones de registro no es correcta. (ID 6463965)

La Sun Java System Application Server Enterprise Edition 8.2 Performance Tuning Guide indica incorrectamente lo siguiente a cerca de las opciones de registro:

La GUI de administración proporciona las siguientes dos opciones de registro:

  • Opción 1: contenido del registro stdout (System.out.print) en el registro de eventos.

  • Opción 2: contenido del registro stderr (System.err.print) en el registro de eventos.

Estas opciones de registro ya no están disponibles en Application Server Edición Enterprise 8.2.

Información conflictiva en relación con la función de almacenamiento en caché de archivos HTTP en Application Server 8.2. (ID 6474799)

La documentación de Application Server Edición Enterprise 8.2 describe una función de almacenamiento en caché de archivos HTTP en HTTP File Cache de Sun Java System Application Server Enterprise Edition 8.2 Performance Tuning Guide. Sin embargo, esta función no se ha incluido en Application Server Edición Enterprise 8.2. Tenga en cuenta que esta función se ha vuelto a introducir en Application Server 9.0.

La documentación sobre cómo obtener una conexión física desde una conexión ajustada ya no es correcta. (ID 6486123)

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.2 Developer’s Guide del Capítulo 11, Using the JDBC API for Database Access de Sun Java System Application Server Enterprise Edition 8.2 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.

Configuración de HADB con redes dobles (sin ID)

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:

Falla la creación de la base de datos HADB (sin ID).

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:

Descripción

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.

Hay segmentos de memoria compartida bloqueados y no se pueden eliminar. (ID 5052548)

Descripción

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.

hadbm set no comprueba la disponibilidad de los recursos (espacio de memoria y disco). (ID 5091280)

Descripción

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.

No se admiten rutas heterogéneas para packagepath. (ID 5091349)

Descripción

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.

createdomain puede fallar. (ID 6173886, 6253132)

Descripción

Si el agente de administración se está ejecutando en un host con varias interfaces de red, es posible que el comando create domain 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 resutado 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.

Es necesario limpiar los directorios tras la eliminación de una instancia de HADB. (ID 6190878)

Descripción

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.

El inicio, la detención y la reconfiguración de HADB pueden fallar o generar bloqueos. (ID 6230792, 6230415)

Descripción

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.

El agente de administración termina con la excepción "IPV6_MULTICAST_IF failed". (ID 6232140)

Descripción

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.

clu_trans_srv no se puede interrumpir. (ID 6249685)

Descripción

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.

hadbm no admite contraseñas que contengan letras mayúsculas. (ID 6262824)

Descripción

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.

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. (ID 6265419)

Descripción

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.

Instalación o eliminación y conservación de symlink. (ID 6271063)

Descripción

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.

Es posible que interfieran los agentes de administración en las zonas locales y globales. (ID 6273681)

Descripción

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.

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. (ID 6275103)

Descripción

A veces un problema de contención de recursos en el servidor puede provocar la desconexión de un cliente de administración. Al volver a conectar, puede devolverse el siguiente mensaje de error 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.

Los usuarios que no sean root no pueden administrar HADB. (ID 6275319)

Descripción

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.

El agente de administración no debería usar interfaces especiales. (ID 6293912)

Descripción

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.

Errores de reensamblaje en Windows. (ID 6291562)

Descripción

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.

Al ejecutar hadbm start <db_name> , parte de la contraseña introducida aparece sin estar oculta. (ID 6303581, 6346059, 6307497)

Descripción

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.

JES5 HADB instalado en zona global no accesible desde zonas locales dispersas. (ID 6460979)

Descripción

Cuando se instala Application Server en una zona global de Solaris en el directorio /usr/SUNWappserver , el componente HADB instalado con la instancia de Application Server no estará disponible en las zonas locales dispersas.

El problema es que HADB se instala en el directorio /opt/SUNWhadb de la zona global, pero este directorio no tiene acceso de lectura desde las zonas locales dispersas. Desafortunadamente, el HADB integrado en JES5 no se puede reubicar.

Solución

Como el componente HADB de Application Server no se puede reubicar, debe instalarse por separado en cada zona local dispersa desde la que desee acceder a HADB.

Instalación

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

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

Descripción

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

En Windows, el directorio imq debe crearse durante la instalación. (ID 6199697)

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

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

No se puede configurar Application Server en RHLAS 3.0 y RHLAS 4.0 sin compat-libstdc++. (ID 6396102)

Descripción

La instalación de Application Server Edición Enterprise 8.2 en un sistema Red Hat Linux Advanced Server (RHLAS) 3.0 o 4.0 presentará errores si aún no se ha instalado la biblioteca compat-libstdc++ en el sistema. Application Server necesita la biblioteca compat-libstdc++ en los sistemas RHLAS, aunque no se instala de forma predeterminada. Tenga en cuenta que este problema sólo se produce en los sistemas RHLAS.

Solución

Descargue e instale el RPM de compat-libstdc++ desde http://rpm.pbone.net/index.php3/stat/4/idpl/843376/com/compat-libstdc++-7.3-2.96.118.i386.rpm.html antes de instalar el software de Application Server.

lbplugin (libpassthrough.so ) no se puede utilizar cuando el servidor se ejecuta en modo de 64 bits. (ID 6480952)

Descripción

Al ejecutar Application Server Edición Enterprise 8.2 con Web Server 7.0 en el modo de 64 bits, los intentos de ejecutar una versión de 64 bits del complemento de equilibrador de carga fallan mostrando el siguiente error:


failure: CORE2253: Error running Init function load-modules: dlopen 
of /export/home/mareks/opt/webserver7/plugins/lbplugin/bin/libpassthrough.so 
failed (ld.so.1: webservd: fatal: /export/home/mareks/opt/webserver7/plugins/
lbplugin/bin/libpassthrough.so: wrong ELF class: ELFCLASS32)
failure: server initialization failed

El problema es que no hay disponible un complemento de equilibrador de carga de 64 bits para Application Server Edición Enterprise 8.2, y Web Server de 64 bits requiere complementos de 64 bits.

Puede determinar si Web Server se ejecutará en modo de 64 bits o de 32 bits utilizando el siguiente comando:


wadm get-config-prop --user=admin --config=xxx --password-file=xxx platform

Solución

No hay programado ningún equilibrador de carga de 64 bits para Application Server Edición Enterprise 8.2. Para solucionar el problema, use la función de proxy inverso de Web Server 7.0 o configure Web Server 7.0 para ejecutarlo en modo de 32 bits. Consulte la documentación de Web Server para obtener instrucciones.

No se puede ejecutar asant deploy: la línea de entrada es demasiado larga (Windows 2000). (ID 6485174)

Descripción

Al instalar Application Server 8.2 en la ubicación predeterminada en Windows 2000, es posible que aparezca el siguiente mensaje de error al ejecutar asant deploy:


$ C:/Sun/JavaES5/appserver/bin/asant deploy
The input line is too long.
The syntax of the command is incorrect.

El problema es que las líneas de comando en Windows 2000 no pueden superar los 1000 caracteres de longitud y, en función de la configuración del sistema, el entorno predeterminado ANT_OPTS puede provocar que la línea del comando asant deploy sea larga. Esto sólo ocurre en Windows 2000.

Solución

En Windows 2000, instale Application Server en una ruta de directorio corta; por ejemplo, C:\JES5_AS.

Instalación JES5 b12, AS en common.properties wrong server instance AppServer1 (ID 6485254)

Descripción

Si Application Server está seleccionado en la parte superior del panel de instalación de componentes, el subcomponente agente de nodo estará también seleccionado de forma predeterminada al utilizar JES 5 b12 en Windows. El proceso de instalación crea un agente de nodo y una instancia de servidor llamado AppServer1 que pertenece a este agente de nodo. Este comportamiento es correcto.

No obstante, si el subcomponente agente de nodo no está seleccionado, el proceso de instalación continuará creando una instancia AppServer1 en el archivo common.properties del dominio; por ejemplo:


domain.name=domain1
appserver.instance=AppServer1

Los siguientes intentos de implementar las aplicaciones utilizando asant darán error.

Solución

Edite el archivo common.propeties sustituyendo appserver.instance=AppServer1 por appserver.instance=server.

La documentación sobre cómo obtener una conexión física desde una conexión ajustada ya no es correcta. (ID 6486123)

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.2 Developer’s Guide del Capítulo 11, Using the JDBC API for Database Access de Sun Java System Application Server Enterprise Edition 8.2 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);

Application Server no admite NFS. (6396045)

En esta versión de software, Application Server no admite el sistema de archivos de red (NFS).

Solución

ninguna.

Tutorial J2EE

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

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.

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)

Descripción

[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

Este apartado describe 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)

Descripción

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.

La ubicación del registro o de la instancia ha cambiado para JES3 Application Server. (ID 6189409)

Las ubicaciones predeterminadas de la instancia del servidor y del registro han cambiado en Sun Java System 8.2 en comparación con la versión 7.x.

Para obtener más información, consulte Sun Java System Application Server Enterprise Edition 8.2 Administration Guide o Sun Java System Application Server Enterprise Edition 8.2 Upgrade and Migration Guide .

Información de resolución de problemas de

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

La reconexión de JMS no se completa con éxito en los casos en que depende de temporizadores. (ID 6173308, 6189645, 6198481, 6199510, 6208728)

Descripción

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:

El comportamiento del módulo de escucha de mensajes asíncrono ha cambiado en appclient de la versión 8.0 a 8.1 Update 2. (ID 6198465)

Descripción

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.

No puede cambiar el servicio del conector ni el nivel de supervisión del conjunto de conexiones del conector. (ID 6089026)

Descripción

En la página de configuración del nivel de supervisión, si cambia el servicio del conector o el nivel de supervisión del conjunto de conexiones del conector a LOW o HIGH y, a continuación, guarda los cambios, ninguno de los dos se cambia en el archivo domain.xml del dominio. Sin embargo, si cambia el nivel de supervisión de servicio de JMS a LOW o HIGH y guarda esta modificación, los valores del servicio del conector y del conjunto de conexiones del conector también se cambian al mismo tiempo. Este problema no se produce cuando se ejecutan los comandos equivalentes desde la línea de comandos.

Solución

Utilice sólo el componente de servicio JMS de la página de nivel de supervisión para cambiar los niveles de supervisión.

Algunas de las estadísticas de supervisión de servicios HTTP no presentan información útil y hay que hacer caso omiso de ellas. (ID 6174518)

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:

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. (ID 6191092)

Descripción

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.

Persistencia

Esta sección describe cómo reconocer y asociar soluciones relacionadas con Java Data Objects y Container-Managed Persistence

JDO76018: no se pueden vaciar instancias persistentes debido a dependencias circulares. (ID 6500961)

Descripción

Esta excepción se inicia si una cadena de dependencias clave externa entre instancias modificadas (o creadas) en una transacción es el resultado de una dependencia circular en la base de datos.

Solución

Separe el juego original de operaciones en transacciones múltiples.

PointBase

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

La definición de los niveles de aislamiento en un conjunto de conexiones para una aplicación genera excepciones en PointBase. (ID 6184797)

Descripción

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.

PointBase genera una excepción si se usan juntos un controlador de servidor de red y un controlador integrado. (ID 6204925)

Descripción

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.

Problema de actualización en el que la base de datos de PointBase predeterminada se sobrescribe. (ID 6264969, 6275448)

Descripción

Al actualizar a Application Server Edición Enterprise 8.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.2.

En Windows, al usar el comando setup-one-machine-cluster se produce un bloqueo, pero funciona en Solaris; mqfailover requiere Ctrl+C para cancelar el proceso. A continuación, se debe volver a realizar la ejecución. (ID 6195092)

Descripción

Desde install_dir\samples\ee-samples\failover\apps\mqfailover\docs\index.html, si se ejecutan los siguientes comandos:

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.

La documentación no indica explícitamente que sea necesario crear recursos JMS antes de ejecutar MQ Failover Sample Application siguiendo las instrucciones de implementación de asadmin. (ID 6198003)

Descripción

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.

En Linux, se muestra un error de tiempo de ejecución durante la creación de certificados en los ejemplos de seguridad/servicios web. (ID 6198239)

Descripción

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:

Faltan documentos de ejemplo después de actualizar desde 8.0 Platform Edition a 8.2 Edición Enterprise

Descripción

Después de actualizar desde Application Server Platform Edition 8.0 a Application Server Edición Enterprise 8.2, puede recibir un error HTTP 404 "File not found" (Archivo no encontrado) al intentar acceder a la página de ejemplos.

Solución

Copie los documentos de ejemplo de los dominios de la versión 8.0 a los dominios de 8.2.

Los ejemplos fallan en el tiempo de ejecución cuando se ejecutan en zonas locales dispersas. (ID 6460970)

Descripción

Si se instala Application Server Edición Enterprise 8.2 en una zona global de Solaris y un dominio de Application Server se instala seguidamente en una zona local dispersa, puede experimentar problemas al ejecutar las aplicaciones de ejemplo si los permisos de archivos del dominio en la zona dispersa no están suficientemente abiertos durante el proceso de implementación.

Solución

Durante el proceso de implementación, asegúrese de que Application Server puede recuperar el archivo JAR del cliente, xmsClient.jar, y copie éste en la ubicación de ejemplo, (/usr/SUNWappserver/appserver/samples/webservices/security/ejb/apps/xms/xmsClient.jar ). Esto suele hacerlo automáticamente el grupo de ejemplos, pero fallará si los permisos en xmsClient.jar no están abiertos.

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.

No se pueden ejecutar aplicaciones WebServiceSecurity en Enterprise Edition con J2SE 5.0. (ID 6183318)

Descripción

Las aplicaciones WebServiceSecurity no se pueden ejecutar con J2SE 5.0 por los siguientes motivos:

El equipo de J2SE ha presentado el documento "CR 6190389: Add support for the RSA-PKCS1 and RSA-OAEP wrap/unwrap mechanisms" (CR 6190389: adición de compatibilidad con los mecanismos de empaquetado y desempaquetado RSA-PKCS1 y RSA-OAEP) para este error.

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.

La finalización de SSL no está funcionando. (ID 6269102)

Descripción

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.

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

Descripción

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.

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)

Descripció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 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 línea de comandos para llevar a cabo la actualización "in situ".

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

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

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

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. (ID 6296105)

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>

Conflicto entre puertos tras la actualización de Application Server de JES2 a JES5

Descripción

Al actualizar de Application Server 7.x a 8.2, puede producirse un conflicto de puertos entre la antigua y la nueva instalación, muy probablemente con los puertos predeterminados 8080 y 8181.

Solución

Cambie los puertos utilizados en Application Server 8.2 para resolver el conflicto.

La base de datos Derby utilizada por las secuencias de comandos de ejemplo se ha creado en la ubicación equivocada. (ID 6377804)

Descripción

Hay dos aspectos de este problema:

  1. Si se ejecutan las secuencias de comandos de configuración de aplicaciones de ejemplo que utilizan la base de datos Derby, ésta se crea en el directorio actual o en <install_root>/bin.

  2. La secuencia de comandos de ejemplo de build de Ant crea un archivo password.txt que guarda el archivo de contraseña de administración en el directorio actual, en el que no se podrá escribir en situaciones de zonas dispersas o que no sean root .

Solución

  1. Ubicación de la base de datos Derby: utilice la opción --dbhome con el comando start-database para crear la base de datos en el valor especificado para --dbhome. Por ejemplo, a continuación, se encuentra la sintaxis de comando asadmin para start-database.


    start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome db_directory] [--echo=false] 
    [--verbose=false]
  2. Ubicación del archivo password.txt : es previsible que el directorio de ejemplos permita su escritura, ya que todos los comandos integrados incluyen la creación de un archivo password.txt en ese directorio. Asegúrese de que instala una copia de los ejemplos que funcione en una ubicación con permiso de escritura.

LoginException durante la actualización de 8.0UR1PE a 8.2EE; se anula el proceso de actualización. (ID 6445419)

Descripción

Este problema se produce cuando se ejecuta la instalación mediante actualización utilizando credenciales de administración distintas a las predeterminadas.

Solución

Cuando realice una actualización en paralelo utilizando el programa de instalación basado en archivos de 8.xPE a 8.2EE, utilice las siguientes credenciales de administración para el nuevo Application Server:

Tras la actualización, puede cambiar estas contraseñas si es necesario.

La herramienta de actualización no puede detectar una entrada de directorio existente, aunque no válida, para el campo de directorio de origen. (ID 6460122)

Descripción

La herramienta de actualización puede detectar una entrada de directorio existente, aunque no válida, para el campo de directorio de origen y da la impresión de que la configuración del directorio es correcta.

Debería aparecer un mensaje “Invalid directory” (directorio no válido) cuando se introduce una ruta incorrecta al directorio de origen. Aparece un mensaje de directorio no válido si se introduce /opt/SUNWappserverEE81UR2/ para el directorio de origen. Sin embargo, si se introduce /opt/SUNWappserverEE81UR2/domains , la herramienta continúa con el proceso de actualización sin advertir que la ruta no es válida. Este problema es similar al ID 6440710, excepto que el comportamiento es distinto dependiendo del valor de entrada.

Solución

Al actualizar de Application Server 7 u 8.x a Application Server 8.2, debe incluirse primero el valor recomendado en la documentación en el directorio de origen: la raíz del dominio para el directorio in situ y de dominio para actualizaciones en paralelo.

Se invalidan los nombres de contraseña y usuario de administración si se utiliza el símbolo de punto y coma (;) (ID 6473341)

Descripción

La instalación de Application Server Edición Enterprise 8.2 no permite caracteres especiales en el nombre de usuario de administración. La creación del dominio fallará si se utiliza cualquier carácter especial. Sin embargo, tenga en cuenta que la contraseña de administración puede tener caracteres especiales.

Solución

Al actualizar de Application Server 7 a Application Server 8.2, verifique que el nombre de usuario de administración no contiene ningún carácter especial.

Contenedor web

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

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 la aplicación o anular la implementación. (ID 5004315)

Descripció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.

No se puede implementar WAR con un archivo web.xml que contenga un elemento <load-on-startup> vacío. (ID 6172006)

Descripción

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.

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

Descripción

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:

Las dos configuraciones impedirán que ant genere nuevos procesos para la compilación javac.

Application Server no admite el complemento auth-passthrough de Web Server 6.1. (ID 6188932)

Descripción

Sun Java System Application Server Edición Enterprise 8.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.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:

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.

Solución

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.2, la función auth-passthrough puede habilitarse configurando la propiedad authPassthroughEnabled del elemento <http-service> de domain.xml como TRUE (verdadero), 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.2. Como, con authPassthroughEnabled, es posible sustituir la información que se podría utilizar para la 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.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 (verdadero). Un servidor que esté accesible a través de Internet nunca debe configurarse con authPassthroughEnabled definido en TRUE (verdadero).

Tenga en cuenta que en una situación en la que el servidor web proxy se haya configurado con el complemento service-passthrough y éste reenvíe solicitudes a una instancia de Application Server 8.1 Update 2 con authPassthroughEnabled definido como TRUE (verdadero), 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úa 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.

El módulo de escucha HTTP creado con --enabled=false no deshabilita el módulo de escucha. (ID 6190900)

Descripción

Al crear un httplistener con el indicador --enabled=false, el módulo de escucha no llega a deshabilitarse. El indicador --enabled no tiene efecto alguno cuando se utiliza al mismo tiempo que se crea el módulo de escucha.

Solución

Cree el módulo de escucha con un estado habilitado; deshabilítelo manualmente más tarde.

La reimplementación en Windows falla porque verify_file_user_exists_common no se ejecuta. (ID 6490227)

Descripción

En Windows, al reimplementar una aplicación que crea un usuario antes de la implementación, el comando create-file-user puede fallar porque verify_file_user_exists_common no se ejecuta (aunque se le llame), y no notifica que el usuario ya existe. La ejecución de deploy se detiene en este punto, y la implementación, así como la anulación de la implementación, fallan.

Solución

Elimine primero los usuarios de archivos que utilizan keydel y, a continuación, ejecute deploy de nuevo:


asant keydel
asant deploy