Schedulerkalender
Der Scheduler stellt Schnittstellen für Stateless-Session-Beans bereit, mit denen allgemeine Kalender für den Scheduler und Java™-EE-Anwendungen (Java Platform Enterprise Edition) erstellt werden können.
Die verfügbare Anwendung SchedulerCalendars.ear enthält eine UserCalendar-EJB-Standardimplementierung (Enterprise JavaBeans), die die Verwendung der Kalender SIMPLE und CRON unterstützt. Obwohl diese Anwendung für die Verwendung des Scheduler nicht erforderlich ist, kann sie in jeder Java-EE-Anwendung verwendet werden.
Einzelheiten zum Verhalten der Kalender SIMPLE und CRON finden Sie in der API-Dokumentation zur Schnittstelle "com.ibm.websphere.scheduler.UserCalendar".
Eine UserCalendar-Instanz für den Scheduler angeben
Ein UserCalendar wird mit der Methode "setUserCalendar()" der Schedulerschnittstelle "TaskInfo" festgelegt. Mit dieser Schnittstelle können Sie den JNDI-Namen (Java Naming and Directory Interface) der Home-Schnittstelle einer UserCalendar-Bean auswählen. Da einige UserCalendar-Bean-Implementierungen möglicherweise mehrere Typen von Kalendern unterstützen, können Sie mit der Schnittstelle außerdem auswählen, welcher Typ von Kalender verwendet werden soll. Eine Liste mit den gültigen Kalendertypen kann mit der Methode "getCalendarNames()" der Schnittstelle "UserCalendar" abgerufen werden.
BeanTaskInfo taskInfo = (BeanTaskInfo)scheduler.createTaskInfo(BeanTaskInfo.class);
String calendarVariant = "CRON";
taskInfo.setUserCalendar(null, calendarVariant);
// Eintrag in der Cron-Tabelle
String cronTableEntry = "0 17,20,23 * ? * *";
taskInfo.setStartTimeInterval(cronTableEntry);
Sie können die Standardschnittstelle "UserCalendar" in anderen Java-EE-Anwendungen unabhängig vom Scheduler auch direkt verwenden. In diesem Fall können Sie den Wert "UserCalendarHome.DEFAULT_CALENDAR_JNDI_NAME" verwenden, um in Ihren Anwendungen die Standardschnittstelle "UserCalendar" zu suchen. Außerdem können Sie diesen Wert mit der Methode "setUserCalendar()" der Schnittstelle "TaskInfo" angeben. Sie müssen sicherstellen, dass die Systemanwendung SchedulerCalendars.ear automatisch oder manuell installiert wurde.