Configuración del servicio temporizador de Enterprise JavaBeans

Para temporizadores EJB no persistentes, puede configurar el servicio de temporizador EJB para controlar el intervalo entre los reintentos de temporizador y el número de reintentos para llamadas que han fallado al método de retorno de llamada de tiempo de espera.

Acerca de esta tarea

El servicio temporizador EJB reintenta llamadas que han fallado al método de retorno de llamada de tiempo de espera para temporizadores no persistentes cada 5 minutos, hasta que el método de retorno de llamada de tiempo de espera se completa correctamente. Utilice las opciones siguientes para configurar temporizadores no persistentes.

Número máximo de reintentos

Especifica el número máximo de veces que se puede reintentar el método de devolución de llamada de tiempo de espera que falla. Si tras el reintento el método de devolución de llamada de tiempo espera resulta satisfactorio, el servidor dejará de ejecutarlo. Si falla un reintento, el servidor seguirá reintentándolo hasta que el método de devolución de llamada de tiempo de espera sea satisfactorio o hasta que se llegue al límite de reintentos. Una vez que se ha alcanzado el límite de reintentos, el servidor no intenta ejecutar el método de retorno de llamada de tiempo de espera, incluso aunque los intentos anteriores no se hayan realizado correctamente. El valor predeterminado de -1 indica reintentos ilimitados. Un valor de 0 indica sin reintento y no es compatible con la especificación. Un valor de 1 o superior indica el número específico de reintentos que están permitidos.

El hecho de cambiar la configuración del número de veces que se reintenta un método de devolución de llamada de tiempo de espera para temporizadores no persistente resulta útil para las aplicaciones que no requieren que los temporizadores no persistentes finalicen en cada intento planificado. Por ejemplo, si una aplicación crea un temporizador de intervalo no persistente que se ha planificado para ejecutarse cada 5 minutos, configurar el número de reintentos en 0 hace que el temporizador se ejecute una vez cada 5 minutos, independientemente de si se ha realizado correctamente o de si falla.

Intervalo de tiempo entre reintentos

Especifica el intervalo entre reintentos para un método de devolución de llamada de tiempo de espera fallido. El primer reintento siempre se produce inmediatamente, independientemente del intervalo que se haya configurado para este valor. Todos los reintentos adicionales esperan al intervalo especificado para este valor. Un valor de 0 indica que todos los reintentos son inmediatos. Un valor de 1 o mayor indica que los reintentos deben esperar ese número específico de segundos. El valor predeterminado es de 300 segundos.

Configurar un intervalo de tiempo diferente entre reintentos para temporizadores no persistentes es útil para las aplicaciones, cuando es importante que se commplete el método de retorno de llamada de tiempo de espera antes del tiempo previsto, cuando se utiliza un intervalo de reintento menor. Este enfoque también es aplicable para aplicaciones donde se acepta retrasar la finalización del temporizador a una hora más tarde como, por ejemplo, cuando se utiliza un intervalo de reintento posterior, para permitir que el método de retorno de llamada de tiempo de espera tenga una mejor oportunidad para ejecutarse correctamente.

Procedimiento

  1. Configure el servidor de aplicaciones para incluir una característica EJB que admita temporizadores no persistentes en el archivo server.xml. Por ejemplo, añada lo siguiente al archivo server.xml:
    <featureManager>
         <feature>ejbLite-3.2</feature>
    </featureManager>
  2. Configure el servicio de temporizador EJB para utilizar un número máximo específico de reintentos y valores de intervalo de reintento para temporizadores no persistentes en el archivo server.xml. Por ejemplo, utilice la configuración siguiente para especificar que los temporizadores no persistentes se reintentan hasta tres veces, con 10 segundos entre los reintentos.
    <ejbContainer>        
         <timerService nonPersistentMaxRetries="3" nonPersistentRetryInterval="10"/>
    </ejbContainer>

    Con esta configuración, el método de retorno de llamada de tiempo de espera para un temporizador se puede llamar hasta cuatro veces. La primera llamada se produce en el tiempo planificado. Si falla la primera llamada, el primer reintento se producirá inmediatamente tras el error. Si el método de retorno de llamada de tiempo de espera sigue fallando, el segundo y el tercer reintento se producirán 10 y 20 segundos más tarde, respectivamente.

    En el ejemplo siguiente, un método de devolución de llamada de tiempo de espera fallido solamente se reintenta una vez. El intervalo de devolución de llamada es irrelevante, porque el primer reintento siempre se realiza inmediatamente.

    <ejbContainer>        
         <timerService nonPersistentMaxRetries="1"/>
    </ejbContainer>

Icono que indica el tipo de tema Tema de tarea



Icono de indicación de fecha y hora Última actualización: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_config_ejbtime
Nombre de archivo:twlp_config_ejbtime.html