Configuración del servicio de temporizador utilizando scripts

Utilice los scripts wsadmin para configurar el servicio de temporizador EJB (Enterprise JavaBeans).

Antes de empezar

Debe tener conocimientos prácticos de Jacl o Jython y de los scripts wsadmin.

Acerca de esta tarea

El comportamiento de los temporizadores EJB se configura utilizando el objeto de configuración EJBTimer en el archivo server.xml. Si dispone de temporizadores EJB, debe actualizar el objeto de configuración EJBTimer para obtener los valores óptimos para su entorno.

El objeto de configuración EJBTimer existe en el nivel de servidor. Esto significa que cada servidor de un entorno de varios servidores tiene su propio objeto de configuración EJBTimer y debe configurarse individualmente.

Procedimiento

  1. Inicie la herramienta de scripts utilizando el lenguaje de scripts Jython o de scripts.
  2. Determine los atributos en el objeto de configuración EJBTimer que debe actualizarse. Puede actualizar los atributos siguientes en el objeto de configuración EJBTimer:
    • datasourceJNDIName
    • datasourceAlias
    • tablePrefix
    • pollInterval
    • numAlarmThreads
    • schedulerJNDIName
    • numNPTimerThreads
    • nonPersistentTimerRetryCount
    • nonPersistentTimerRetryInterval
    • uniqueTimerManagerForNP

    Para obtener una descripción completa de cada atributo, consulte la información sobre los valores de servicio del temporizador EJB.

    Existen cuatro tipos de temporizadores EJB:
    • Temporizadores persistentes, soportados por una instancia del planificador interno predeterminado.
    • Temporizadores personalizados, soportados por una instancia del planificador personalizado.
    • Temporizadores no persistentes, que comparten una agrupación de hebras con los temporizadores persistentes.
    • Temporizadores no persistentes, que no comparte una agrupación de hebras con los temporizadores persistentes.
    El servidor está siempre configurado para que utilice uno de los dos tipos de temporizadores persistentes, y uno de los dos tipos de temporizadores no persistentes.

    El objeto de configuración EJBTimer contiene los datos de configuración para los cuatro tipos de temporizadores EJB. Cada uno de los cuatro tipos de temporizadores utiliza un subconjunto de los atributos de configuración en el objeto de configuración EJBTimer. Todos los atributos del objeto de configuración EJBTimer se utilizan para configurar al menos uno de los tipos de temporizadores y ninguno de los atributos se utiliza para configurar todos los tipos de temporizadores. Por lo tanto, es necesario comprender qué tipo de temporizador tiene configurado para utilizar y qué atributos de configuración se aplican a ese tipo de temporizador.

    Tabla 1. Tipos de temporizador y atributos de configuración. Indica los atributos EJBTimer que se utilizan para configurar cada tipo de temporizador.
    Atributo Persistente, planificador predeterminado Persistente, planificador personalizado No persistente, agrupación de hebras compartida No persistente, agrupación de hebras exclusiva
    datasourceJNDIName No, especificado en su lugar en la configuración del planificador personalizado No No
    datasourceAlias No, especificado en su lugar en la configuración del planificador personalizado No No
    tablePrefix No, especificado en su lugar en la configuración del planificador personalizado No No
    pollInterval No, especificado en su lugar en la configuración del planificador personalizado No No
    numAlarmThreads No No
    schedulerJNDIName No No No
    numNPTimerThreads No No No
    nonPersistentTimerRetryCount No No
    nonPersistentTimerRetryInterval No No
    uniqueTimerManagerForNP No No

    La presencia de un valor para el atributo schedulerJNDIName determinar qué tipo de temporizador persistente se utiliza. Si el atributo schedulerJNDIName tiene un valor, se utiliza una instancia de planificador personalizado. Si schedulerJNDIName no tiene un valor, se utiliza la instancia del planificador interno predeterminado.

    El atributo numAlarmThreads se correlaciona con la opción Número de hebras del temporizador en la sección Configuración de temporizador EJB persistente de la consola administrativa. El atributo numNPTimerThreads se correlaciona con la opción Número de hebras del temporizador en la sección configuración del temporizador EJB no persistente de la consola administrativa.

    El atributo uniqueTimerManagerForNP se correlaciona con las opciones Compartir agrupación de hebras configurada para temporizadores persistentes y Crear una agrupación de hebras separada para temporizadores no persistentes de la consola administrativa.

    El atributo uniqueTimerManagerForNP determina si la agrupación de hebras se comparte entre los temporizadores persistentes y no persistentes. También determina si se utiliza el atributo de configuración numAlarmThreads o numNPTimerThreads.

    Tabla 2. Impactos del atributo uniqueTimerManagerForNP. El atributo uniqueTimerManagerForNP afecta tanto al compartimiento de la agrupación de hebras como a la configuración de las hebras.
    Atributo uniqueTimerManagerForNP Los temporizadores persistentes y no persistentes comparten una agrupación de hebras Atributo de configuración de hebras que se utiliza Atributo de configuración de hebras que se ignora.
    true No numNPTimerThreads numAlarmThreads
    false numAlarmThreads numNPTimerThreads
  3. Obtenga una referencia al objeto de configuración EJBTimer correcto y almacénela en una variable.

    Utilizando Jacl:

    set timer [$AdminConfig list EJBTimer]
    Utilizando Jython:
    timer = AdminConfig.list('EJBTimer') 

    Si tiene un entorno de varios servidores, entonces se devuelven múltiples objetos de configuración EJBTimer. Ejecute un bucle mediante programación sobre la lista y seleccione el objeto de configuración EJBTimer correspondiente al servidor que necesite actualizar.

    En un entorno de varios servidores, como alternativa a la programación en bucle sobre la lista de objetos EJBTimer, puede seleccionar manualmente el objeto EJBTimer correcto y copiarlo y pegarlo en su variable.

    Por ejemplo, si la salida del mandato AdminConfig list es:

    (cells/myCell01/nodes/myCellManager01/servers/dmgr|server.xml#EJBTimer_1)(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)

    Copie y pegue la referencia para el objeto EJBTimer necesario en su variable.

    Utilizando Jacl:
    set timer "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
    Utilizando Jython:
    timer = "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
  4. Actualice los atributos del objeto de configuración EJBTimer.

    Actualice los atributos del objeto de configuración EJBTimer utilizando el mandato AdminConfig modify. El primer argumento para el mandato es la referencia de EJBTimer que obtuvo en el paso anterior. El segundo argumento para el mandato es una lista de pares nombre-valor.

    Para establecer un número de reintentos de 10 y un intervalo de reintentos de 15 segundos entre cada intento:

    En Jacl:
     set update "{nonPersistentTimerRetryCount 10} {nonPersistentTimerRetryInterval 15}"
     $AdminConfig modify $timer $update
    Utilizando Jython:
    AdminConfig.modify(timer, '[[nonPersistentTimerRetryCount "10"] [nonPersistentTimerRetryInterval "15"]]') 
  5. Guarde los cambios de configuración.
    Utilizando Jython:
    AdminConfig.save()
    En Jacl:
    $AdminConfig save
  6. En un entorno sólo de despliegue de red, sincronice el nodo.

    Utilizando Jacl:

    set sync1 [$AdminControl completeObjectName
    type=NodeSync,node=<your node>,*]
    $AdminControl invoke $sync1 sync
    En Jython:
    sync1 = AdminControl.completeObjectName('type=NodeSync,node=<your node>,*')
    AdminControl.invoke(sync1, 'sync')
    La sincronización de nodos en estos ejemplos se debe ejecutar mientras está conectado al servidor.

Resultados

Como resultado de la actualizaciones, el objeto de configuración EJBTimer ahora refleja los valores de atributo especificados. Reinicie el servidor de modo que los cambios se actualicen en el servidor.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_ejbTimer_config
File name: txml_ejbTimer_config.html