ユーザー・カレンダーは、日付関連の値を計算する必要がある場合に、タスクによって呼び出される
ユーザー定義の Stateless Session Bean です。
ユーザー・カレンダー Bean は、以下のホーム・インターフェースとリモート・インターフェースを
使用します。どちらも、Application Server Toolkit (AST) または Rational Application Developer など
の
アセンブリー・ツールを使用して
デプロイメント記述子に定義されているインターフェースです。
com.ibm.websphere.scheduler.UserCalendarHome
com.ibm.websphere.scheduler.UserCalendar
この Bean 自体は、このリモート・インターフェースで定義されている applyDelta() メソッド、validate() メソッド、および getCalendarNames() メソッドをインプリメントする必要があります。 詳しくは、API 文書の『インターフェース UserCalendar』を参照してください。
ユーザー・カレンダーは、
タスクの実行間隔など、時間間隔を計算する場合に使用されます。ユーザー・カレンダーは、java.util.Date オブジェクトを取得し、
インターバル・ストリングを適用し、その結果である java.util.Date を戻します。
TaskInfo インターフェースに
対して setUserCalendar() メソッドを呼び出すと、ユーザー・カレンダーが設定され、差分計算が必要になったときに、
スケジューラーのランタイム・コードにより、ユーザー・カレンダーが呼び出されます。
TaskInfo インターフェースの以下の
メソッドは、ユーザー・カレンダーを計算に使用する差分ストリングを指定します。
- setStartTimeInterval
- setStartByInterval
- setRepeatInterval
- デフォルト・ユーザー・カレンダー
- TaskInfo.setUserCalendar() メソッドを使用して
ユーザー・カレンダーが指定されていない場合は、デフォルトのユーザー・カレンダーが使用されます。 デフォルト・カレンダーによって、秒、分、時間、日、および月などの単純な差分指定が可能です。 デフォルトのカレンダーについて詳しくは、API 文書を参照してください。デフォルトのユーザー・カレンダーはまた、
絶対時間対時間差分を計算するための、CRON 構文に似た構文を提供します。
- カレンダー ID
- 単一のユーザー・カレンダーは、複数カレンダーのロジックを
含むことができます。 どのカレンダーを使用するかは、カレンダー指定子のストリングによって決定されます。例えば、
間隔 day を認識するためのカレンダー Bean がインプリメントされているとします。ただし、
カレンダー ID は、standard (標準の日付) と business (営業日) の 2 つのカレンダー・インプリメンテーションも認識します。
- 国際化対応および時間帯
- スケジューラーは、日付の保管および処理に java.util.Date クラスを
使用します。 このクラスは、内部的には、新世紀の始まり (グリニッジ標準時) からの経過時間をミリ秒で保管します。日付は、ストリングに変換されるまではローカル時に変換されないので、スケジューラーは日付が作成された時間帯をそのまま使用します。
- ユーザー・カレンダーの書き込み
- ユーザー・カレンダーは Stateless Session Bean であるため、他の Session Bean が使用可能な Java 2
Platform Enterprise Edition (J2EE) プログラミング・モデルと同一のものを、ユーザー・カレンダーも使用できます。