Notas de la versión de Sun Java System Application Server Enterprise Edition 8.2 para Microsoft Windows

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 Enterprise Edition 8.2. Si no se especifica una plataforma concreta para un problema, significa que éste se aplica a todas las plataformas. Esta información está organizada en las siguientes secciones:

Administración

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

La función de equilibrador de carga no es compatible con Application Server en la opción Configurar automáticamente durante la instalación (6463858)

La función de equilibrador de carga no es compatible con Application Server en la opción Configurar automáticamente durante la instalación.

Solución alternativa:la función de equilibrador de carga se puede configurar después de la instalación de Application Server.


Nota –

Es necesario tener Application Server y Web Server instalados en el equipo para configurar la función de equilibrador de carga.


    Para configurar la función de equilibrador de carga, siga estos pasos:

  1. Establezca el valor de IS_LB en "true" (verdadero) y Cfgr_LB en "false" (falso) en el registro HKEY_LOCAL_MACHINE -> Sun Microsystem -> EntSys -> Installer -> Application Server.

  2. Acceda al directorio setup.

    cd JavaES-Install-Dir\setup\


    
    
  3. Ejecute el archivo por lotes ASConfigure.bat.

  4. Siga las instrucciones y proporcione el valor adecuado.


    Nota –

    Para el complemento AS_LB, escriba Sun Java System Web Server [obligatorio], ya que éste es el único complemento admitido en Java ES 5.


  5. Reinicie el sistema.

La secuencia de comandos package-appclientno funciona si falta domain1. (Id. 6171458)

De manera predeterminada, un valor no modificable está en JavaES-Install-Dir \lib\lib\package-appclient.xml para la variable AS_ACC_CONFIG de domain1 al 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)

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

Los archivos del complemento se instalan de manera 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 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 vez de realizar una instalación de una actualización.

Varios cambios en la secuencia de comandos asadmin en Java ES 3 Application Server 8.2 en comparación con JAVA ES 2 Application Server 7. (Id. 6189433, 6189436)

Se han realizado varios cambios en el comando asadmin en Application Server 8.2 en comparación con Application Server 7 y versiones compatibles. Por ejemplo, en Application Server 7 y versiones compatibles, el comando para iniciar una instancia de servidor es el siguiente:


asadmin start-instance

En la versión 8.2, el comando equivalente es el siguiente:


asadmin start-domain --user admin domain1

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

Puertos predeterminados cambiados en Application Server. (Id. 6198555)

Al actualizar a Java ES 5 Application Server 8.2 desde Java ES 2 Application Server 7 y versiones compatibles, puede que experimente incompatibilidades o errores debido a que se han cambiado los puertos predeterminados.

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

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

Solución

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

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

J2SE 1.4., 5.0 y versiones compatibles se pueden configurar en Application Server. Una función integral de la plataforma J2SE 5.0 es la capacidad para iniciar un agente JMX. Este agente se activa definiendo explícitamente propiedades de sistema al iniciar el servidor.

Entre los valores de ejemplo, se incluyen los siguientes:

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. Estos resultados se producen debido a los 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, una línea similar a la mostrada en el siguiente párrafo aparece en server.log. 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.

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)

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)

Los dominios y 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 afecta a todos los dominios de esta instalación.


Nota –

No se comprueba la validez de los cambios manuales efectuados en el archivo asenv.conf, así que tenga cuidado al realizar los cambios. 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)

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

Solución

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

  2. Copie el archivo asant.template ubicado en as_install /lib/install/templates/ee para la versión SE/EE en el directorio as_install /bin/ y cambie el nombre del archivo asant.

  3. Edite el archivo as_install/bin/asant que acaba de copiar sustituyendo el símbolo %CONFIG_HOME% por as_install> /config.

  4. Si se ha efectuado algún cambio manual en el archivo asant.bak original, fusiónelo en el nuevo archivo asant.

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

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 create-domain incluye caracteres especiales. (Id. 6345947)

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

Solución

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

Se sobrescriben los cambios efectuados en la configuración del equilibrador de carga cambia en magnus.conf y obj.conf. (Id. 6394181)

Después de crear un archivo http-listener seguro e instalar lbplugin, los archivos magnus.conf y obj.conf ubicados en el directorio webserver_instance_dir/config se modifican y el contenido de lbpluginse 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 indicando que ha detectado una edición manual 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.

Cliente de la aplicación

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

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

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

Solución

Ninguna.

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

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

Solución

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

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 utilicen el nivel de aislamiento TRANSACTION_SERIALIZABLE con el controlador de Sun integrado para Microsoft SQL Server. (Id. 6165970)

Puede experimentar este problema si utiliza una instrucción de actualización preparada mientras se ejecutan dos transacciones paralelas y una de ellas se anula.

Solución

Defina un nivel de aislamiento para una conexión, cree el conjunto de conexiones correspondientes en el mismo nivel de aislamiento. Para obtener más información sobre la configuración de los conjuntos de conexiones, consulte Sun Java System Application Server Enterprise Edition 8.2 Administration Guide.

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 asegurarse de que el controlador vuelva a enlazar 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 obtener información detallada sobre la configuración de conjuntos de conexiones.

Descripción 2

En relación con el error de PreparedStatement mencionado anteriormente, es posible que se muestre otro mensaje de error:

[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 Por ejemplo, utilice 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 un nivel 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.

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. (Id. 6188343)

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

Reinicie la instancia de DAS. Utilice la anulación de implementación de cascada (defina la opción de cascada en "true", verdadero) para anular la implementación de los conectores independientes e incorporados.

JMS create-jms-resource: CLI no define los valores predeterminados correctamente. (Id. 6294018)

Como no puede especificar los tamaños mínimo y máximo de conjunto cuando crea un nuevo recurso JMS a partir de la línea de comandos con el comando asadmin create-jms-resource, se supone que el comando asadmin debe crear el recurso utilizando los valores de tamaño de conjunto predeterminados (mínimo 8, máximo 32). 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.

Inconsistencias de Javadoc

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

El ANT integrado genera la excepción java.lang.NoClassDefFoundError . (Id. 6265624)

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 realizar tareas externas a Application Server.

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

Sun Java System Application Server Enterprise Edition 8.2 Performance Tuning Guide indica incorrectamente lo siguiente acerca 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 Enterprise Edition 8.2.

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

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

Alta disponibilidad

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

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

A medida que incrementa el tamaño de la memoria intermedia o del dispositivo utilizando hadbm set, el sistema de administración comprueba la disponibilidad de los recursos al crear bases de datos o al agregar nodos. Sin embargo, el sistema no comprueba si hay suficientes recursos disponibles cuando se modifica el tamaño de la memoria intermedia principal o del dispositivo.

Solución

Compruebe si hay espacio suficiente en la memoria o el disco 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)

No puede registrar el mismo paquete de software con el mismo nombre con distintas ubicaciones en diferentes hosts. 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)

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.

Si no se configuran, los agentes de administración utilizarán la "primera" interfaz para multidifusiones UDP . "Primera" se define por el resultado de java.net.NetworkInterface.getNetworkInterfaces().

Solución

La mejor solución es decirle al agente de administración qué subred 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 multidifusión (el agente de administración utiliza la dirección de multidifusió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 depósito del agente de administración. Detenga todos los agentes del dominio, y elimine todos los archivos y directorios del directorio del depósito (se identifican mediante repository.dr.path en el archivo de configuración del agente de administración). Esta limpieza 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)

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.

clu_trans_srv no se puede interrumpir. (Id. 6249685)

Hay un error en la versión de 64 bits de Red Hat Enterprise Linux 3.0 que fuerza al proceso clu_trans_srv a pasar al 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)

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.

hadbm/ma genera un mensaje de error cuando se agota el tiempo de sesión de un objeto y éste se elimina en el agente de administración (Id. 6275103)

A veces un problema de contención de recursos en el servidor puede provocar la desconexión de un cliente de administración. Al volverse a conectar, puede devolverse el siguiente mensaje de error confuso "hadbm:Error 22184: Es necesaria una contraseña para conectarse al agente de administración".

Solución

Compruebe si se ha producido un problema de recursos en el servidor, tome las medidas oportunas (por ejemplo, agregue más recursos) y vuelva a intentarlo.

El agente de administración no debería usar interfaces de uso especial. (Id. 6293912)

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 puede provocar problemas si los nodos de HADB se configuran en estas interfaces mediante la ejecución, por parte del usuario, de un comando hadbm create que utilice nombres de host en lugar de 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)

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 20 nodos al ejecutar varios análisis de tabla (select *) en paralelo. Entre los síntomas, se incluyen la interrupción de transacciones con frecuencia, el retraso de la reparación o recuperación en completarse y la aparición frecuente de tiempos 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). Para obtener mejores resultados, incremente 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)

Cuando un equipo está sobrecargado, el mecanismo de ocultación falla y algunos caracteres de la contraseña introducida se visualizan. Esta exposición representa un riesgo de seguridad mínimo. 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 desde Application Server 8.1) y consulte estos archivos con las opciones --adminpassword o --dbpasswordfile.

Instalación

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

El programa de instalación de Java Enterprise System 5 para el equilibrador de carga de Application Server 8.x mínimo no se instala correctamente. (Id. 6478047)

Apache e IIS no se pueden configurar con el programa de instalación de Java ES 5. Tiene que configurar manualmente Apache e IIS en la plataforma de Windows.

Solución

Para configurar Apache o IIS para el equilibrador de carga, siga estos pasos.

    Para configurar Apache 2.x:

  1. Instale Apache 2.x.

    Apache se instala en el directorio APDIR=C:\Apache2\Apache2.

  2. Instale JES5 con la instalación mínima.

    Deseleccione todos los componentes, excepto el equilibrador de carga. Java ES 5 se instala en el directorio JES5DIR=C:\Program Files\Sun\JavaES5.

    The

  3. Cree los directorios resource y errorpages en el directorio Apache2.

    mkdir %APDIR%\modules\resource

    mkdir %APDIR%\modules\errorpages

  4. Copie el archivo de recursos en el directorio resource.

    cd %APDIR%\modules\resource

    copy %JES5DIR%\appserver\lib\webserver-plugin\windows\apache2\LBPlugin*.res .

  5. Copie el DLL del equilibrador de carga en el directorio modules.

    cd %APDIR%\modules

    copy %JES5DIR%\appserver\lib\webserver-plugin\windows\apache2\mod_loadbalancer.dll .

  6. Copie la plantilla errorpages en el directorio errorpages.

    cd %APDIR%\modules\errprpages

    copy %JES5DIR%appserver\lib\webserver-plugin\windows\iws\errorpages .

  7. Copie la plantilla del equilibrador de carga y el otro DTD en el directorio config de Apache.

    cd %APDIR%\config

    copy %JES5DIR%\appserver\lib\install\templates\loadbalancer.xml.template .

    copy %JES5DIR%\appserver\lib\dtds\sun-loadbalancer* .

  8. Cree una copia de seguridad del archivo httpd.conf.

    cd %APDIR%\config

    copy httpd.conf httpd.conf.orig

  9. Edite el archivo httpd.conf.

    Anexe las siguientes líneas al archivo httpd.conf:

    ##BEGIN EE LB Plugin Parameters
    LoadModule apachelbplugin_module modules/mod_loadbalancer.dll
    <IfModule mod_apache2lbplugin.cpp>
    		config-file "C:\Apache2\Apache2/conf/loadbalancer.xml"
    		locale en
    </IfModule>
    <VirtualHost 10.12.8.107>
    DocumentRoot "C:\Apache2\Apache2/htdocs"
    ServerName vm07
    </VirtualHost>
    ##END EE LB Plugin Parameters
  10. Sustituya C:\Apache2\Apache2 por el directorio %APDIR% real.

    También sustituya la IP, el nombre del servidor y el directorio raíz de documentos.

  11. Cree un nuevo directorio sec_db_files en %APDIR%.

    cd %APDIR%

    mkdir sec_db_files

  12. Copie el almacén de claves NSS en el directorio %APDIR%\sec_db_files.

    cd %APDIR%\sec_db_files

    copy %JES5DIR%\appserver\lib\webserver-plugin\windows\iis\*.db .

  13. Establezca la RUTA para que incluya las bibliotecas necesarias.

    Anteponga la siguiente ruta adicional:

    PATH %JES5DIR%\share\lib;%JES5DIR%\appserver\lib;%JES5DIR%\appserver\bin

  14. Sustituya %JES5DIR% por el directorio de Java ES 5 actual.

  15. Agregue la variable NSPR_NATIVE_THREADS_ONLY con el valor 1 en el entorno del sistema.

  16. Reinicie y pruebe Apache 2 (después de configurar loadbalancer.xml ).

    Para configurar IIS LBPlugin:

  1. Cree el directorio sun-passthrough en el directorio c:\inetpub\wwwroot .

    cd c:\inetpub\wwwroot

    mkdir sun-passthrough

  2. Cree los directorios errorpages, resource y sec_db_files en el directorio c:\inetpub\wwwroot\sun-passthrough.

    cd c:\inetpub\wwwroot\sun-passthrough

    mkdir errorpages

    mkdir resources

    mkdir sec_db_files

  3. Copie los archivos DLL en el directorio sun-passthrough.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iis/*.dll c:\inetpub\wwwroot\sun-passthrough\

  4. Copie los DTD en el directorio sun-passthrough.

    copy <as_install_dir>/appserver/lib/dtds/sun-loadbalancer*.dtd c:\inetpub\wwwroot\sun-passthrough\

  5. Copie el archivo sun-passthrough.properties en el directorio sun-passthrough .

    copy <as_install_dir>/appserver/lib/webserver-plugin/iis c:\inetpub\wwwroot\sun-passthrough\

  6. Copie los archivos DB de seguridad en el directorio sun-passthrough.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iis/*.db c:\inetpub\wwwroot\sun-passthrough\sec_db_files\

  7. Copie los archivos de recursos en el directorio sun-passthrough.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iws/*.res c:\inetpub\wwwroot\sun-passthrough\resource\

  8. Copie las páginas de errores en el directorio sun-passthrough.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iws/errorpages/*.html c:\inetpub\wwwroot\sun-passthrough\errorpages\

  9. Copie la plantilla loadbalancer.xml.example en el directorio sun-passthrough.

    copy <as_install_dir>/appserver/lib/install/templates/loadbalancer.xml.example c:\inetpub\wwwroot\sun-passthrough\

  10. Edite el archivo sun-passthrough.properties.

    ##BEGIN EE LB Plugin Parameters
    log-file = C:\InetPub\wwwroot\sun-passthrough\lb.log
    ### The valid options for different logging levels are FATAL, SEVERE, WARNING, INFO and FINE.
    log-level = INFO
    lb-config-file = C:\InetPub\wwwroot\sun-passthrough\loadbalancer.xml
    ##END EE LB Plugin Parameters

Nota –

Si está configurando IIS6, asegúrese de definir los permisos y realizar los pasos adicionales, como se describen en la documentación de AS82. También puede que deba definir el modo de aislamiento de IIS6 en el modo compatible con IIS5.


El directorio imq debe crearse durante la instalación. (Id. 6199697)

En la plataforma Windows, inmediatamente después de instalar Application Server Enterprise Edition, el agente de Message Queue falla al iniciarse. Aparece un mensaje de error indicando que el directorio drive:\as\domains\domain1\imq no existe.

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

Tutorial J2EE

Para ejecutar el tutorial de J2EE 1.4 en Sun Java System Application Server Enterprise Edition 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.

Si se cambia la propiedad ejb-timer-service, se genera un error. (Id. 6193449)

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á. Aparecerá el siguiente mensaje de 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.

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)

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. Evite establecer este indicador.

La ubicación del registro o de la instancia ha cambiado para Java ES 3 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 y versiones compatibles.

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

Message Queue

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

La reconexión de JMS no se realiza satisfactoriamente en casos en los que se depende de temporizadores (Id. 6173308, 6189645, 6198481, 6199510, 6208728)

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)

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 regresión 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.

Integración de la estructura de supervisión en Application Server. (6469302)

En la versión beta de Application Server, la estructura de supervisión no se admite de forma predeterminada.

Solución

    Para integrar la supervisión de estructura en Application Server, siga estos pasos:

  1. Edite el archivo <Install_dir>\appserver\lib\install\templates\ee\com.sun.cmm.as.xml .

    Actualice ${InstalledDate} con la ubicación de instalación de Application Server y ${InstalledDate} con la fecha actual.

  2. Copie el archivo <Install_dir>\appserver\lib\install\templates\ee\com.sun.cmm.as.xml en <Install_dir>\appserver\lib.

  3. Ejecute el comando <MFWK_Install_location>\bin\mfwksetup.bat -r <Install_dir>\appserver\lib\com.sun.cmm.as.xml .


Nota –

El valor ${InstalledLocation} es la ubicación de instalación de Application Server, c:\Sun\JavaES5\appserver. Para $InstalledDate, debe poner la hora en milisegundos calculando la hora actual en milisegundos desde 1970.


Ejemplos

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

setup-one-machine-cluster se bloquea. (Id. 6195092)

En la plataforma Windows, es necesario pulsar las teclas Control+C para mqfailover para cerrar el proceso bloqueado. Debe volver a ejecutar el proceso setup-one-machine-cluster .

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

Si ya ha ejecutado asant setup-one-machine-cluster-without-ha o asant setup-one-machine-cluster-with-ha para cualquier otro ejemplo de Enterprise Edition, ejecute asant configure-mq. De lo contrario, ejecute 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. 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 desbloquear el proceso y, a continuación, volver a ejecutarlo.

La documentación no indica explícitamente la necesidad de crear recursos JMS antes de ejecutar la aplicación de ejemplo de conmutación por error de Message Queue. (Id. 6198003)

Después de completar las instrucciones de implementación de asadmin y ejecutar la aplicación de ejemplo de conmutación por error de Message Queue, aparece el siguiente mensaje de error:


/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 de JMS se deben crear manualmente si se realiza la implementación manual utilizando los comandos asadmin deploy. La documentación tampoco menciona que los destinos "ant" proporcionados deben utilizarse para implementar la aplicación de ejemplo.

Solución

Use el destino de deploy asant para la secuencia de comandos build.xml, lo que crea los recursos JMS necesarios para ejecutar la aplicación.

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)

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

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 funciona. (Id. 6269102)

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.

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

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 Ant build 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 raíz.

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 – se puede escribir en el directorio de ejemplos, ya que todos los comando 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.

No se ha podido invalidar el carácter de punto y coma (;) en la contraseña y el nombre de usuario de administración. (Id. 6473341)

La instalación de Application Server Enterprise Edition 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.

No se proporciona compatibilidad con Apache e IIS para el complemento de equilibrador de carga.

Sun Java ES 5 Application Server no es compatible con Apache e IIS (contenedor web que no sea de Sun) para el complemento de equilibrador de carga. Sun Java ES instala Sun Java System Web Server para la configuración del complemento de equilibrador de carga.

La implementación de la aplicación mediante --precompilejsp=true puede bloquear los archivos JAR. (Id. 5004315)

En la plataforma Windows, 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. 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 parecido al siguiente:


An exception occurred while running the command. The exception 
message is: CLI171 Command deploy failed : Deploying application in 
domain failed; Cannot deploy. Module directory is locked and can'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 basado en Servlet 2.4 que contenga un elemento <load-on-startup> vacío. (Id. 6172006)

El elemento opcional "load-on-startup servlet" del archivo 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 el elemento <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)

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

Puede activar esta configuración de una de las dos formas siguientes:

Las dos configuraciones impedirán que Ant genere un nuevo proceso para la compilación javac.

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

Sun Java System Application Server Enterprise Edition 8.2 agrega compatibilidad para la función proporcionada por el complemento auth-passthrough que está disponible con Sun Java System Application Server Enterprise Edition 7.1. Sin embargo, en Application Server Enterprise Edition 8.2, la función del complemento auth-passthrough está configurada de forma diferente.

La función del complemento auth-passthrough en Application Server Enterprise Edition 7.1 ha resultado útil en situaciones de implementación de dos capas, con las siguientes restricciones:

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 Enterprise Edition 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 Enterprise Edition 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 Enterprise Edition 7.1 se aplican también a la propiedad authPassthroughEnabled de Application Server Enterprise Edition 8.2, ya que authPassthroughEnabled permite la sobrescritura de información que se puede utilizar con fines de autenticación (como la dirección IP desde la que se originó la solicitud o el certificado de cliente SSL). Por lo tanto, sólo a clientes o servidores de confianza debe permitírseles la conexión a una instancia Application Server Enterprise Edition 8.2 con authPassthroughEnabled establecido en 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 reenvíe solicitudes a una instancia de Application Server 8.1 Update 2 con authPassthroughEnabled establecido como TRUE (verdadero), la autenticación SSL de cliente puede estar habilitada en el servidor Web proxy y deshabilitada en la instancia 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)

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.