Calendarios de planificador

El planificador proporciona interfaces de bean de sesión sin estado que permiten crear calendarios comunes que el planificador y cualquier aplicación Java™ EE (Java Platform, Enterprise Edition) pueden utilizar.

La aplicación SchedulerCalendars.ear está disponible y proporciona una implementación de EJB (Enterprise Java Beans) UserCalendar predeterminada, que permite utilizar los calendarios SIMPLE y CRON. Aunque esta aplicación no es necesaria cuando se utiliza el planificador, está disponible para utilizarse desde cualquier aplicación Java EE.

Para obtener detalles sobre cómo se comportan los calendarios SIMPLE y CRON, consulte en la documentación de API la interfaz com.ibm.websphere.scheduler.UserCalendar.

Especificación de un UserCalendar con el planificador

Se especifica UserCalendar utilizando el método setUserCalendar() de la interfaz TaskInfo del planificador. Esta interfaz le permite seleccionar el nombre JNDI (Java Naming and Directory Interface) de la interfaz inicial de un bean UserCalendar. Dado que es posible que algunas implementaciones de bean UserCalendar manejen varios tipos de calendarios, la interfaz también le permite seleccionar de forma opcional qué tipo de calendario va a utilizar. Se puede recuperar una lista de tipos de calendario válidos invocando el método getCalendarNames() de la interfaz UserCalendar.

Si no se invoca el método setUserCalendar() o si se especifica un valor de nulo o serie vacía para el parámetro de nombre JNDI de inicio, el planificador utiliza internamente el calendario de usuario predeterminado. Cuando se accede internamente al calendario de usuario predeterminado, no es necesario que la aplicación de sistema SchedulerCalendars.ear esté instalada. Si desea utilizar el calendario de usuario predeterminado con una entrada CRON, debe acceder manualmente a la entrada CRON. En el siguiente ejemplo de código se muestra este paso:
BeanTaskInfo taskInfo = (BeanTaskInfo)scheduler.createTaskInfo(BeanTaskInfo.class);
String calendarVariant = "CRON";
taskInfo.setUserCalendar(null, calendarVariant);
// cron table entry
String cronTableEntry = "0 17,20,23 * ? * *";
taskInfo.setStartTimeInterval(cronTableEntry);

Tal vez convenga utilizar el calendario de usuario predeterminado directamente en las demás aplicaciones de Java EE, aparte del planificador. En este caso, puede utilizar el valor de UserCalendarHome.DEFAULT_CALENDAR_JNDI_NAME para buscar el calendario de usuario predeterminado en las aplicaciones. También puede proporcionar este valor en el método setUserCalendar() de la interfaz TaskInfo. Necesitará asegurarse de que la aplicación de sistema SchedulerCalendars.ear se haya instalado automáticamente o que se ha instalado manualmente.


Icon that indicates the type of topic Concept topic



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