Notas de la versión de Sun GlassFish Enterprise Server 2.1

Administración

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

A veces las instancias independientes obtienen archivos desde otras instancias (6698604).

Descripción

En algunas circunstancias, los archivos instalados en DAS para que se sincronicen con una instancia específica se envían a otras instancias.

Solución

No hay una solución conocida.

Los mensajes de inicio desde el comando start-cluster están demasiado detallados (6728317)

Descripción

El comando asadmin start-cluster muestra demasiados mensajes incluso cuando los componentes no críticos dan errores en el inicio. Observe la siguiente salida del comando de ejemplo cuando los elementos no críticos (relacionados con las instancias del clúster) fallan:


./asadmin start-cluster --port 9898 cluster1
Please enter the admin user name>admin
Please enter the admin password>
The clustered instance, instance2, was successfully started.
error 0 [#|2008-07-17T14:58:16.496+0200|WARNING|sun-appserver9.1|javax.jms|
_ThreadID=10;_ThreadName=main;
_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]: 
Error occurred on connection creation [localhost:37676]. - cause: 
java.net.ConnectException: Connection refused|#]


error 1 [#|2008-07-17T14:58:17.517+0200|WARNING|sun-appserver9.1|javax.jms|
_ThreadID=10;_ThreadName=main;
_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]: 
Error occurred on connection creation [localhost:37676]. - cause: 
java.net.ConnectException: Connection refused|#]


error 2 [#|2008-07-17T14:58:30.596+0200|WARNING|sun-appserver9.1|
javax.enterprise.system.container.ejb|
_ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean;
_RequestID=5954a044-df06-4a3e-902a-0c40b4b6cddb;
|EJB5108:Unable to initialize EJB Timer Service. 
The likely cause is the database has not been 
started or the timer database table has not been created.|#]


error 3 [#|2008-07-17T14:58:32.512+0200|WARNING|sun-appserver9.1|
javax.enterprise.resource.resourceadapter|_ThreadID=10;_ThreadName=main;
__CallFlowPool;_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|
RAR5005:Error in accessing XA resource with JNDI name [__CallFlowPool] for recovery|#]


The clustered instance, instance1, was successfully started.
error 0 [#|2008-07-17T14:58:21.117+0200|WARNING|sun-appserver9.1|
javax.enterprise.system.container.ejb|
_ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean;
_RequestID=30827d9a-72ac-4854-b216-06494b6a9fb5;
|EJB5108:Unable to initialize EJB Timer Service. The likely cause is the database has 
not been started or the timer database table has not been created.|#]


error 1 [#|2008-07-17T14:58:23.106+0200|WARNING|sun-appserver9.1|
javax.enterprise.resource.resourceadapter|
_ThreadID=10;_ThreadName=main;__CallFlowPool;
_RequestID=b41d76fa-0203-49f7-a2ae-83bf242d3e7a;
|RAR5005:Error in accessing XA resource with JNDI name [__CallFlowPool] for recovery|#]


Command start-cluster executed successfully.

Solución

No hay una solución conocida. Se pueden ignorar estos mensajes (excepcionales).

No se ha podido implementar el adaptador de recursos genérico RA frente a IBM MQ (problema 6605)

Descripción

La implementación del adaptador genérico RA contra el producto IBM Message Queue falla. Los permisos concedidos en el archivo server.policy son los siguientes.


grant {
      permission java.util.logging.LoggingPermission "control";
      permission java.util.PropertyPermission "*", "read,write";
      }

Solución

Cambie los permisos en el archivo server.policy como se explica a continuación:


grant codeBase
"file:${com.sun.aas.installRoot}/lib/install/applications/adminapp/-" {
  permission java.util.logging.LoggingPermission "control";
 };

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

Descripción

De forma predeterminada, hay un valor codificado en as-install/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:

  1. Deje intacto domain1 y cree los demás dominios en torno a él.

  2. <Check Alignment of PHs>Elimine domain1 y sustituya el valor codificado de domain1 en as-install/lib/package-appclient.xml por el nuevo nombre de dominio.

Deberá llevar a cabo este procedimiento cada vez que cree un dominio nuevo si domain1 no está presente.

No es posible iniciar el servidor con JMX Agent adicional (6200011)

Descripción

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

Entre los valores de ejemplo se incluyen:


name="com.sun.management.jmxremote" value="true"
name="com.sun.management.jmxremote.port" value="9999"
name="com.sun.management.jmxremote.authenticate" value="false"
name="com.sun.management.jmxremote.ssl" value="false"

Después de configurar las propiedades JMX e iniciar el servidor, un nuevo servidor jmx-connector se inicia en la máquina virtual. Un efecto colateral no deseable es que las funciones de administración se ven afectadas negativamente y la consola de administración y la interfaz de línea de comandos pueden generar resultados inesperados. <Check Alignment of PHs>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 el servidor.

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


[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1|
javax.enterprise.system.tools.admin|_ThreadID=10;|ADM1501: 
Here is the JMXServiceURL for the JMXConnectorServer: 
[service:jmx:rmi:///jndi/rmi://hostname:8686/management/
rmi-jmx-connector]. This is where the remote administrative 
clients should connect using the JSR 160 JMX Connectors.|#]

Para más información, consulte la Sun GlassFish Enterprise Server 2.1 Administration Guide.

El archivo de configuración del equilibrador de la carga no se crea con la URL de punto final de ningún servicio web (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.

El archivo .asadmintruststore no está descrito en la documentación de Enterprise Server (6315957)

Descripción

El archivo .asadmintruststore no se describe en la documentación de Enterprise Server. Si el archivo no se encuentra en el directorio home del administrador del servidor, es posible que se produzcan errores graves al actualizar determinadas aplicaciones alojadas en el servidor.

Solución

Las instancias con clúster no se inician debido al tiempo de espera existente al acceder al agente de JMS (6523663)

Descripción

El modo de integración predeterminado de MQ para una Enterprise Server instancia de clúster es LOCAL. Cuando se instala Enterprise Server en una ubicación (PATH) larga (es decir "not short"), imqbrokerscv.exe se bloquea al iniciarse la instancia del clúster. El problema reside en la asignación de memoria de imqbrokersvc.

Solución

El tipo de servicio de JMS para la instancia del clúster debe cambiarse del predeterminado LOCAL a REMOTE. En esta configuración, todas las instancias apuntan al agente DAS. Siga las instrucciones de más abajo para configurar un clúster en el modo REMOTE.


Nota –

Al utilizar el modo REMOTE, todas las instancias usan un agente (DAS) y por ello, no se crea ningún clúster de agente cuando se inicia el clúster de Enterprise Server. Consulte “Auto-clustering” en la sección 4.1, apartado iii de la página http://www.glassfishwiki.org/gfwiki/attach/OnePagersOrFunctionalSpecs/as-mq-integration-gfv2.txt para obtener más información. Las funciones antes mencionadas no estarán disponibles


ProcedureUtilización de la línea de comandos

Antes de empezar

Modifique el puerto y el archivo de la contraseña según su entorno. Tenga en cuenta que en las instrucciones de abajo, el nombre del clúster es racluster, el puerto de administración DAS es 5858, y el puerto JMS de DAS es 7676 .

  1. Cambie el tipo de JMS a REMOTE para modificar la configuración del clúster.


    as-install/bin/asadmin.bat set --port 5858 --user admin --passwordfile \
    as-install/bin/password_file racluster.jms-service.type=REMOTE
  2. Cree un host JMS que corresponda con el host JMS de DAS.


    as-install/bin/asadmin.bat create-jms-host --port 5858 --user admin --passwordfile \
    as-install/bin/password_file --target racluster --mqhost localhost --mqport 7676 \
    --mquser admin --mqpassword admin dashost
  3. Cambie el host JMS predeterminado al host DAS JMS que creó en el paso anterior.


    as-install/bin/asadmin.bat set --port 5858 --user admin --passwordfile \
    as-install/bin/password_file racluster.jms-service.default-jms-host=dashost

ProcedureUtilización de la Interfaz de usuario de administración (Admin GUI)

  1. Vaya a Configuraciones->cluster-name-config->Java Message Service->JMS Hosts.

  2. Haga clic en Nuevo para crear un host JMS nuevo y asígnele el nombre dashost.

  3. Introduzca los ajustes de configuración correspondientes al servicio de JMS para el DAS; los valores predeterminados son los siguientes:

    • Nombre del host: host local

    • Puerto: 7676

    • Usuario admin.: admin

    • Password: admin

    Modifique estos ajustes del servicio DAS JMS de la forma apropiada.

  4. Regrese hasta la ficha Java Message Service y cambie el tipo de servicio JMS a REMOTE (el predeterminado es LOCAL).

  5. Elija dashost de la lista desplegable default-jms-host .

  6. Guarde los cambios e inicie después el agente de nodo o el clúster.

No puede mostrarse el gráfico jmaki en los navegadores Netscape 8.1.3, Mozilla 1.7 y Safari 2.0.4 (6543014)

Descripción

Al intentar mostrar un gráfico de la página "Control de las estadísticas de registro" con navegadores no admitidos, puede producirse el siguiente error:


Error loading jmaki.widgets.jmaki.charting.line.Widget : id=form1:jmaki_chart11
Script: http://easqelx5.red.iplanet.com:4848/resources/jmaki/charting/ \
line/component.js (line:5437).
Message: area.initialize is not a function

Solución

Utilice alguno de los navegadores admitidos. Consulte Navegadores para ver una lista de los navegadores admitidos por Enterprise Server 2.1.

Se producen cambios en los puertos predeterminados con cada versión importante de AS (6566481)

Descripción

El puerto administrativo predeterminado ha cambiado en las principales tres versiones anteriores de Enterprise Server. <Check Alignment of PHs>En concreto, los puertos administrativos predeterminados en 7.x, 8. x y 9.x son los siguientes:

Solución

No se trata de un fallo, pero es necesario tenerlo en cuenta. El puerto administrativo predeterminado sólo es una recomendación. Se prevé que las futuras versiones de Enterprise Server conservarán el puerto 4848.

El comando create-domain falla con la contraseña maestra personalizada en AIX (6628170)

Descripción

En el sistema operativo AIX si se intenta crear un dominio con una contraseña maestra personalizada, falla y da el siguiente error:


keytool error (likely untranslated): java.lang.NullPointerException
 Enter keystore password:  New keystore password:

ProcedureSolución: (AIX) Cómo crear un dominio con una contraseña maestra personalizada


Nota –

En el siguiente procedimiento, sólo se ofrecen las opciones necesarias en cada paso. Si requiere opciones adicionales para un comando, especifíquelas en el comando. Para obtener información sobre los comandos de Enterprise Server, consulte el Sun GlassFish Enterprise Server 2.1 Reference Manual .


  1. Cree una secuencia de comandos que contenga las siguientes líneas de código:

    #!/bin/sh
    changeKeystorePass() {
      keytool -storepasswd -keystore ${KEYSTORE} -storepass ${OLD} -new ${NEW}
    }
    changeTruststorePass() {
      keytool -storepasswd -keystore ${TRUSTSTORE} -storepass ${OLD} -new ${NEW}
    }
    changeKeyPass() {
      keytool -keypasswd -alias s1as -keystore ${KEYSTORE} -storepass ${NEW} -keypass ${OLD} -new ${NEW}
    }
    changeDomainPasswordEntry() {
      keytool -storepasswd -storetype JCEKS -keystore ${DOMAINPASSWORDS} -storepass ${OLD} -new ${NEW}
    }
    deleteMasterPasswordFile() {
      if [ -f ${DOMAIN_PATH}/master-password ] ; then
        echo Deleting ${DOMAIN_PATH}/master-password
        rm -f ${DOMAIN_PATH}/master-password
      fi
    }
    DOMAIN_PATH=$1
    OLD=$2
    NEW=$3
    if [ $# != 3 ] ; then
      echo Usage: $0 domain-path old-master-pass new-master-pass
      exit 1
    fi
    echo Processing ...
    if [ ! -f ${DOMAIN_PATH}/config/domain.xml ] ; then
      echo "Domain with folder ${DOMAIN_PATH} does not exist, create it first"
      exit 2
    else
      KEYSTORE=${DOMAIN_PATH}/config/keystore.jks
      TRUSTSTORE=${DOMAIN_PATH}/config/cacerts.jks
      DOMAINPASSWORDS=${DOMAIN_PATH}/config/domain-passwords
      changeKeystorePass
      changeTruststorePass
      changeKeyPass
      changeDomainPasswordEntry
      deleteMasterPasswordFile
    fi
  2. Cree un dominio, especificando la contraseña maestra predeterminada.


    aadmin create-domain {--adminport aminportno|--portbase portbase} domain-name
    Please enter the admin user name>admin-user
    Please enter the admin password>admin-user-password
    Please enter the admin password again>admin-user-password
    Please enter the master password [Enter to accept the default]:>
    Please enter the master password again [Enter to accept the default]:>

    La contraseña maestra predeterminada es changeit.

  3. Cambie la contraseña maestra del dominio que acaba de crear.

    Para cambiar la contraseña maestra, ejecute la secuencia de comandos creada en el Paso 1.


    script-name domain-path old-password new-password
    
  4. Inicie el dominio que ha creado en el Paso 2.


    asadmin start-domain domain-name
    

    Como el dominio tiene una contraseña maestra personalizada, se le pedirá la contraseña maestra.

  5. Como respuesta al mensaje, escriba la nueva contraseña maestra.

  6. Para los dominios configurados para admitir clústeres cree e inicie un agente de nodo.

    1. Cree un agente de nodo para el dominio que ha creado en el Paso 2.


      asadmin create-node-agent --port portno --user admin-user
      
    2. Inicie el agente de nodo que ha creado en el Paso a.


      asadmin start-node-agent
      

      Como el dominio tiene una contraseña maestra personalizada, se le pedirá la contraseña maestra.

    3. Como respuesta al mensaje, escriba la nueva contraseña maestra.

Véase también

Las siguientes páginas man de Enterprise Server:

AIX: 0403-027 El parámetro es demasiado largo (6625591)

Descripción

En el sistema operativo AIX algunas operaciones relacionadas con el sistema operativo pueden fallar y dar el error siguiente:


0403-027 The parameter list is too long

Ejemplos de operaciones relacionadas con el sistema operativo son la implementación de aplicaciones o ejecutar el contenedor del cliente de aplicación.

Este problema está causado normalmente por rutas de archivo largas en la variable de entorno CLASSPATH.

Solución

Utilice una de estas soluciones:

Procedure(AIX) Cómo incrementar la longitud máxima de la línea de comandos

El atributo ncargs determina la longitud máxima de la línea de comandos, incluidas las variables de entorno. En el sistema operativo AIX, el valor predeterminado del atributo ncargs es de cuatro bloques de 4 kilobytes. Para garantizar que los comandos de Enterprise Server no superen la longitud máxima de la línea de comandos, aumente este valor a 16 bloques de 4 kilobytes.


Nota –

Tras cambiar el valor de ncargs, no se necesita reiniciar ni actualizar los daemons.


  1. Determine el valor del atributo ncargs.


    lsattr -EH -l sys0 | grep ncargs
    
  2. Si el valor del atributo ncargs es menor a 16 bloques de 4 kilobytes, auméntelo a un valor de 16.


    chdev -l sys0 -a ncargs=16