Agendas du planificateur
Le planificateur fournit des interfaces de beans session sans état qui permettent la création d'agendas courants utilisables par le planificateur et par toute application Java™ EE (Java, Enterprise Edition).
L'application SchedulerCalendars.ear est disponible et fournit une implémentation EJB (Enterprise Java Beans) UserCalendar permettant l'utilisation des agendas SIMPLE et CRON. Bien que cette application ne soit pas requise lors de l'utilisation du planificateur, il est possible de l'utiliser à partir de toute application Java EE.
Pour plus de détails sur le comportement des agendas SIMPLE et CRON, consultez la documentation sur les API de l'interface com.ibm.websphere.scheduler.UserCalendar.
Spécification d'un UserCalendar avec le planificateur
La spécification d'un UserCalendar s'effectue à l'aide de la méthode setUserCalendar() de l'interface TaskInfo du planificateur. Cette interface vous permet de sélectionner le nom JNDI (Java Naming and Directory Interface) de l'interface home d'un bean UserCalendar. Etant donné que certaines implémentation de beans UserCalendar peuvent traiter plusieurs types d'agendas, l'interface vous permet aussi, éventuellement, de sélectionner le type d'agenda à utiliser. Il est possible d'extraire une liste de types d'agendas valides en appelant la méthode getCalendarNames() de l'interface UserCalendar.
BeanTaskInfo taskInfo = (BeanTaskInfo)scheduler.createTaskInfo(BeanTaskInfo.class);
String calendarVariant = "CRON";
taskInfo.setUserCalendar(null, calendarVariant);
// entrée de table cron
String cronTableEntry = "0 17,20,23 * ? * *";
taskInfo.setStartTimeInterval(cronTableEntry);
Outre le planificateur, vous voudrez peut-être utiliser la fonction UserCalendar par défaut directement dans vos autres applications Java EE. Dans ce cas, vous pouvez utiliser la valeur UserCalendarHome.DEFAULT_CALENDAR_JNDI_NAME pour rechercher l'UserCalendar par défaut dans vos applications. Vous pouvez aussi fournir cette valeur à la méthode setUserCalendar() de l'interface TaskInfo. Vous devrez vous assurer que l'application système SchedulerCalendars.ear a été installée automatiquement ou que vous l'avez installée manuellement.