スケジューラー・カレンダー
スケジューラーには、スケジューラー、およびどの Java™ Platform, Enterprise Edition (Java EE) アプリケーションでも使用することができる共通のカレンダーの作成を可能にする ステートレス・セッション Bean インターフェースが備わっています。
SchedulerCalendars.ear アプリケーションが使用できます。 このアプリケーションでは、SIMPLE カレンダーおよび CRON カレンダーを使用できるデフォルトの UserCalendar Enterprise Java Beans (EJB) 実装を 提供します。スケジューラーを使用している場合、このアプリケーションは 必須ではありませんが、任意の Java EE アプリケーションから 使用できます。
SIMPLE カレンダーおよび CRON カレンダーの振る舞いについて詳しくは、API 文書で com.ibm.websphere.scheduler.UserCalendar インターフェースを参照してください。
スケジューラーを使用した UserCalendar の指定
UserCalendar は、スケジューラーの TaskInfo インターフェースの setUserCalendar() メソッドを使用して 指定されます。このインターフェースを使用すると、 UserCalendar Bean のホーム・インターフェースの Java Naming and Directory Interface (JNDI) 名を 選択できます。UserCalendar Bean の実装の中には、複数のタイプのカレンダーを操作するものがあるので、必要であれば、このインターフェースを使用して、使用するカレンダーのタイプを選択することもできます。有効なカレンダー・タイプのリストは、UserCalendar インターフェースの getCalendarNames() メソッドを呼び出して取り出すことができます。
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);
スケジューラーとは別の他の Java EE アプリケーションで、 デフォルトの UserCalendar を直接使用することもできます。この場合、UserCalendarHome.DEFAULT_CALENDAR_JNDI_NAME 値を使用して、アプリケーションからデフォルトの UserCalendar を検索することができます。この値は、TaskInfo インターフェースの setUserCalendar() メソッドに提供することもできます。SchedulerCalendars.ear システム・アプリケーションが自動的にインストールされたか、または手動でインストールしたかを確認する必要があります。