Para desarrollar y planificar tareas, utilice un planificador configurado.
Procedimiento
- Busque un planificador configurado. Consulte el tema Acceso a planificaciones. Cada
planificador configurado está disponible en dos modelos de programación
distintos:
- Una aplicación del servidor
Java™
EE
(Java
Platform, Enterprise Edition) como, por ejemplo, un servlet o un componente EJB
(Enterprise
JavaBeans)
puede utilizar la API del planificador. Puede acceder a los planificadores buscándolos
mediante un nombre JNDI
(Java
Naming and Directory Interface) o una referencia de recursos.
- Las aplicaciones JMX
(Java
Management Extensions) como, por ejemplo, los scripts wsadmin pueden utilizar la API del
planificador mediante MBeans WASScheduler.
- Desarrolle la tarea.
La API del planificador da
soporte a diferentes implementaciones de la interfaz TaskInfo, cada una de
las cuales puede utilizarse para planificar un tipo de trabajo concreto. Para obtener información más detallada, consulte el tema Desarrollo de una tarea que llama a un bean de sesión y Desarrolle una tarea que envía un mensaje JMS (Java Message Service). El objeto de tarea que está referenciado en el tema Desarrollar una tarea que envía un mensaje JMS (Java Message Service) puede enviar un mensaje JMS a una cola o un tema.
Atención: Creación y manipulación de tareas
planificadas mediante la interfaz del planificador desde el contenedor EJB o
el contenedor web (Enterprise beans o servlets). No puede buscar y utilizar un
planificador que se haya configurado desde un contenedor de cliente de aplicaciones
Java
EE.
- Reciba las notificaciones del planificador. Se establece un receptáculo de notificación en una tarea para que reciba los sucesos de
notificación generados por un planificador cuando realiza una operación en la tarea.
- Utilice agendas personalizadas. Puede asignar un bean de sesión
UserCalendar a una tarea que permita que los planificadores utilicen algoritmos de fechas
personalizados y predefinidos para determinar cuándo debe ejecutarse una tarea. Para obtener información detallada, consulte el tema de interfaz UserCalendar.
- Someta tareas a un planificador. Una vez creado un objeto TaskInfo, se puede someter al planificador para la creación
de tareas llamando al método Scheduler.create().
- Gestione tareas con un planificador.
- Proteja tareas con un planificador.
Ejemplo
Puede utilizar los calendarios SIMPLE y CRON desde cualquier aplicación Java EE. En este ejemplo se ilustra el proceso.
Utilización de los calendarios de planificador predeterminado. En los ejemplos de código siguientes se muestra cómo utilizar las conexiones de forma correcta e incorrecta.
La utilización de los calendarios del planificador predeterminado implica la búsqueda del objeto inicial de EJB (Enterprise JavaBeans) por omisión UserCalendarHome, la creación del bean
UserCalendar y la llamada al método applyDelta(). Para obtener detalles sobre el método applyDelta así como la sintaxis para los calendarios
SIMPLE y CRON, consulte el tema Interfaz UserCalendar.
import java.util.Date;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import com.ibm.websphere.scheduler.UserCalendar;
import com.ibm.websphere.scheduler.UserCalendarHome;
// Crear un contexto inicial
InitialContext ctx = new InitialContext();
// Buscar y limitar el inicio de UserCalendar predeterminado.
UserCalendarHome defaultCalHome=(UserCalendarHome)
PortableRemoteObject.narrow(ctx.lookup(
UserCalendarHome.DEFAULT_CALENDAR_JNDI_NAME),
UserCalendarHome.class);
// Crear la instancia de UserCalendar predeterminada.
UserCalendar defaultCal = defaultCalHome.create();
// Calcular una fecha utilizando CRON basándose en la
// fecha y la hora. Devolver la siguiente fecha que es
// sábado a las 2 AM
Date newDate =
defaultCal.applyDelta(new Date(),
"CRON", "0 0 2 ? * SAT");