Gestores de temporizadores
El gestor de temporizadores combina las funciones de gestor de alarmas de beans asíncronos y ámbito asíncrono. De esta manera, cuando se crea un gestor de temporizadores, éste utiliza internamente un ámbito asíncrono para proporcionar las funciones de ciclo de vida del gestor de temporizadores.

Puede buscar el gestor de temporizadores en el espacio de nombres JNDI (Java Naming and Directory Interface). Este recurso es diferente al del gestor de alarmas que se recupera a través del ámbito de beans asíncronos. Cada búsqueda del gestor de temporizadores devuelve un nuevo gestor de temporizadores lógico que puede destruirse independientemente de todos los otros gestores de temporizadores.
Un gestor de temporizadores puede configurarse con un número de agrupaciones de hebras a través de la consola administrativa. En caso de despliegue, puede enlazar este gestor de temporizadores a una referencia de recurso en el momento del ensamblaje, de modo que la aplicación puede utilizar la referencia de recurso para buscar el gestor de temporizadores.
InitialContext ic = new InitialContext();
TimerManager tm = (TimerManager)ic.lookup("java:comp/env/tm/TimerManager");
El modelo de programación para establecer la escucha de alarmas y la escucha de temporizadores es diferente. El siguiente ejemplo de código muestra la diferencia.
Beans asíncronos | CommonJ |
---|---|
public class ABAlarmListener implements AlarmListener { public void fired(Alarm alarm) { System.out.println(“Alarm fired. Context =” + alarm.getContext()); } |
public class StockQuoteTimerListener implements TimerListener { String context; String url; public StockQuoteTimerListener(String context, String url){ this.context = context; This.url = url; } public void timerExpired(Timer timer) { System.out.println(“Timer fired. Context =”+ ((StockQuoteTimerListener)timer.getTimerListener()) .getContext()); } public String getContext() { return context; } } |
<res-ref-name>java:app/env/timerManger</res-ref-name>
y el archivo ibm-application-bnd.xml debería contener algo similar a lo siguiente:<resource-ref-name="java:app/env/timerManager" binding-name="tm/default"/>
Asegúrese de que el archivo de configuración Spring contenga un valor similar al siguiente: value="java:app/env/timerManager"