ジョブ・スケジューラのJSPタグ・ライブラリは、Oracle Application Server Containers for J2EEとの対話に使用されます。ジョブの追加、削除、一時停止、再開、問合せだけでなく、ブラックアウト・ウィンドウの追加、削除、問合せにも使用されます。さらに、ジョブや監査レコードの条件付き操作(ジョブのステータスに基づくコンテンツの配布など)用に多数のヘルパー・タグが提供されています。
次のトピックについて説明します。
次の手順に従って、JSPタグ・ライブラリを使用したWebアプリケーションを構成します。
JSPタグ・ライブラリの記述子ファイルをWebアプリケーションの/WEB-INF
サブディレクトリにコピーします。
JSPタグ・ライブラリのJARファイルをWebアプリケーションの/WEB-INF/lib
サブディレクトリにコピーします。
<taglib>
要素を/WEB-INF/web.xml
のWebアプリケーションのデプロイ記述子に追加します。次に例を示します。
<taglib> <taglib-uri>scheduler-taglib</taglib-uri> <taglib-location>/WEB-INF/scheduler.tld</taglib-location> </taglib>
JSPページでこのライブラリからタグを使用するには、各ページの上部に次のディレクティブを追加します。
<%@ taglib uri="scheduler-taglib" prefix="s" %>
sは、このライブラリからのタグのタグ名接頭辞ですが、任意の接頭辞を指定できます。
表C-1に、このライブラリに含まれている主要なタグをまとめます。
ここでは、C.2項でリストした各タグについて詳しく説明します。
scheduler
タグは、ジョブ・スケジューラと対話するための暗黙的なEJBコンテキストを提供します。コンテキストが暗黙的なので、このタグは、このライブラリが提供する他のすべてのタグの親である必要があります。
表C-2に、scheduler
タグでサポートされている属性を示します。
表C-2 schedulerタグの属性
属性 | 必須 | 説明 |
---|---|---|
|
○ |
ジョブ・スケジューラへのアクセスに使用するジョブ・スケジューラEJBのインスタンス名。 |
|
○ |
このタグのボディの全操作を処理するジョブ・スケジューラEJBのJNDI名。 |
|
× |
暗黙的なEJBコンテキストの有効範囲脚注1。有効な値は、 |
例:
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler" scope="application"> . . . </s:scheduler>
addJob
タグは、ジョブ・スケジューラに新しいジョブを追加します。このタグは、scheduler
タグ内で使用する必要があります。
表C-3に、addJob
タグでサポートされているヘルパー・タグを示します。
表C-3 addJobタグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
○ |
ジョブのクラス名 |
|
× |
ジョブの説明 |
|
× |
ジョブのスケジュール(トリガーにタイムアウトを送信する頻度を指定) |
|
× |
ジョブのトリガー(ジョブを実行する前に満たす必要がある条件を指定) |
|
× |
ジョブの再試行期間 |
|
× |
ジョブのログ・レベル |
新しいジョブの追加時にクラス名を指定するには、このヘルパー・タグを使用します。このタグは、addJob
タグ内で使用する必要があります。
例:
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> </s:addJob> </s:scheduler>
新しいジョブの追加時にジョブの説明を指定するには、このヘルパー・タグを使用します。このタグは、addJob
タグ内で使用する必要があります。
例:
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:description>Example job description</s:description> </s:addJob> </s:scheduler>
ジョブまたはブラックアウト・ウィンドウのスケジュールを指定するには、このヘルパー・タグを使用します。このタグは、addJob
タグまたはaddBlackoutWindow
タグ内で使用する必要があります。
表C-4に、schedule
ヘルパー・タグでサポートされているヘルパー・タグを示します。
表C-4 scheduleヘルパー・タグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
× |
スケジュールの初期有効期限までの期間 |
|
× |
スケジュールの繰返し間隔 |
|
× |
ジョブの実行しきい値( |
スケジュールの初期有効期限までの期間を指定するには、このヘルパー・タグを使用します。このタグは、scheduler
タグ内で使用する必要があります。このタグのボディでは期間を指定します。期間は、任意の数の単位と関連する値、または特定の日時で指定します。
次に期間の例を示します。
1週間
1か月、5日
2005年3月15日
2004年1月5日午後4時(太平洋標準時)
表C-5に、duration
ヘルパー・タグでサポートされているヘルパー・タグを示します。
表C-5 durationヘルパー・タグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
× |
初期有効期限の日付。このタグは、 |
|
× |
初期有効期限の時間。このタグは、 |
|
× |
ジョブの発行時間を基準とする年単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする月単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする週単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする日単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする時間単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする分単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする秒単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とするミリ秒単位で表される有効期限。このタグは、他のヘルパー・タグと組み合せて使用できます。 |
表C-5で説明したヘルパー・タグの詳細な説明と例は、次の項を参照してください。
注意: 繰り返しを避けるために、最初のいくつかのタグについては完全なコード例を示します。この項の残りのタグについては、部分的なコード例を示します。 |
date
ジョブの初期有効期限の正確な日付を指定するには、このヘルパー・タグを使用します。このタグは、duration
タグ内で使用する必要があります。日付式の書式は、java.text.DateFormat
クラスが提供する日付解析ルーチンに準拠している必要があります。このタグをtime
タグと一緒に使用しない場合、duration
タグで囲まれたボディには、デフォルトの12:00:00 a.mが使用されます。
スケジュールの継続期間を2003年10月27日の午前0時(太平洋標準時)に設定するには、次のコードを使用します。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:schedule> <s:duration> <s:date>October 27, 2003</s:date> </s:duration> </s:schedule> </s:addJob></s:scheduler>
time
ジョブの初期有効期限の正確な時間を指定するには、このヘルパー・タグを使用します。このタグは、duration
タグ内で使用する必要があります。時間式の書式は、java.text.TimeFormat
クラスが提供する時間解析ルーチンに準拠している必要があります。このタグをdate
タグと一緒に使用しない場合、duration
タグで囲まれたボディでは、デフォルトでジョブの発行日付が使用されます。
スケジュールの期間を2003年10月27日の午後4時30分(太平洋標準時)に設定するには、次のコードを使用します。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:schedule> <s:duration> <s:date>October 27, 2003</s:date> <s:time>16:30:00 PST</s:time> </s:duration> </s:schedule> </s:addJob></s:scheduler>
years
有効期限までの年数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(months
、weeks
、days
、hours
またはminutes
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。期間または間隔がうるう日に発生する場合、有効期限はその月の最終日に丸められます。たとえば、2月29日は次の年の2月28日に丸められます。
スケジュールの期間を発行時間から1年に設定するには、次のコードを使用します。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:schedule> <s:duration> <s:years>1</s:years> </s:duration> </s:schedule> </s:addJob></s:scheduler>
次の例は、スケジュールの間隔を1年に設定する方法を示しています。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:schedule> <s:interval> <s:years>1</s:years> </s:interval> </s:schedule> </s:addJob></s:scheduler>
months
有効期限までの月数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(years
、weeks
、days
、hours
またはminutes
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。期間または間隔が月末に発生する場合、間隔が月末に発生するように丸められる可能性があります。たとえば、1月31日は次の月の2月28日に丸められます。
スケジュールの有効期限が1か月後に切れるように設定するには、次のコードを使用します。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:schedule> <s:duration> <s:months>1</s:months> </s:duration> </s:schedule> </s:addJob></s:scheduler>
次の例は、スケジュールを3か月ごとに繰り返すように設定する方法を示しています。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:schedule> <s:interval> <s:months>3</s:months> </s:interval> </s:schedule> </s:addJob></s:scheduler>
weeks
有効期限までの週数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(years
、months
、days
、hours
、minutes
、seconds
またはmilliseconds
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。
スケジュールの有効期限が1週間後に切れるように設定するには、次のコードを使用します。
... <s:duration> <s:weeks>1</s:weeks> </s:duration>...
days
有効期限までの日数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(years
、months
、weeks
、hours
、minutes
、seconds
またはmilliseconds
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。
スケジュールが14日ごとに繰り返されるように設定するには、次のコードを使用します。
... <s:interval> <s:days>14</s:days> </s:interval>...
hours
有効期限までの時間数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(years
、months
、weeks
、hours
、minutes
、seconds
またはmilliseconds
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。
スケジュールの有効期限が48時間後に切れるように設定するには、次のコードを使用します。
... <s:duration> <s:hours>48</s:hours> </s:duration>...
minutes
有効期限までの分数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(years
、months
、weeks
、hours
、days
、seconds
またはmilliseconds
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。
スケジュールが720分ごとに繰り返されるように設定するには、次のコードを使用します。
... <s:interval> <s:minutes>720</s:minutes> </s:interval>...
seconds
有効期限までの秒数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(years
、months
、weeks
、hours
、days
、minutes
またはmilliseconds
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。
スケジュールの有効期限が86,400秒(24時間)後に切れるように設定するには、次のコードを使用します。
... <s:duration> <s:seconds>86400</s:seconds> </s:duration>...
milliseconds
有効期限までのミリ秒数を指定するには、この単位タグをduration
タグまたはinterval
タグと一緒に使用します。このタグは、他の単位タグ(years
、months
、weeks
、hours
、days
、minutes
またはseconds
)と一緒に使用できます。タグのボディはゼロ以外の正の整数である必要があります。
スケジュールが43,200,000ミリ秒ごとに繰り返されるように設定するには、次のコードを使用します。
... <s:interval> <s:milliseconds>43200000</s:milliseconds> </s:interval>...
スケジュールの間隔を指定するには、このヘルパー・タグを使用します。このタグは、scheduler
タグ内で使用する必要があります。このタグのボディでは、スケジュールの間隔を指定します。間隔は、任意の数の単位と関連する値で指定します。
次に間隔の例を示します。
1週間
1か月、5日
1か月、6日、3時間
表C-6に、interval
ヘルパー・タグでサポートされているヘルパー・タグを示します。
表C-6 intervalヘルパー・タグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
× |
繰返し間隔の終了日。 |
|
× |
ジョブの発行時間を基準とする年単位で表される繰返し間隔。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする月単位で表される繰返し間隔。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする週単位で表される繰返し間隔。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする日単位で表される繰返し間隔。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする時間単位で表される繰返し間隔。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする分単位で表される繰返し間隔。このタグは、他の単位タグと組み合せて使用できます。 |
繰返し間隔の終了日を指定するには、end
ヘルパー・タグを使用します。このタグは、interval
タグ内で使用する必要があります。間隔は、任意の数の単位と関連する値で指定します。
1か月に1度の繰返し間隔の終了日を1年後に設定するには、次のコードを使用します。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:schedule> <s:interval> <s:months>1</s:months> <s:end> <s:years>1</s:years> </s:end> </s:interval> </s:schedule> </s:addJob> </s:scheduler>
表C-7に、end
ヘルパー・タグでサポートされている単位タグを示します。
表C-7 endヘルパー・タグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
× |
スケジュールの終了日。このタグは、 |
|
× |
スケジュールの終了時間。このタグは、 |
|
× |
ジョブの発行時間を基準とする年単位で表される終了日。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする月単位で表される終了日。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする週単位で表される終了日。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする日単位で表される終了日。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする時間単位で表される終了日。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
ジョブの発行時間を基準とする分単位で表される終了日。このタグは、他の単位タグと組み合せて使用できます。 |
これらの単位タグの使用方法は、duration
ヘルパー・タグと同じです。詳細は、C.3.2.3.1項を参照してください。
スケジュールの実行しきい値を指定するには、このヘルパー・タグを使用します。指定されたしきい値の前にスケジュールが実行されない場合、ジョブは抑止され、retry
タグが指定されている場合のみ再試行されます。このタグは、scheduler
タグ内で使用する必要があります。このタグのボディでは、スケジュールのしきい値を指定します。しきい値は、任意の数の単位と関連する値で指定します。
次にしきい値の例を示します。
1日
10時間、26分
表C-8に、threshold
タグでサポートされているヘルパー・タグを示します。
表C-8 thresholdヘルパー・タグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
× |
日単位で表されるしきい値。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
時間単位で表されるしきい値。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
分単位で表されるしきい値。このタグは、他の単位タグと組み合せて使用できます。 |
これらの単位タグの使用方法は、duration
ヘルパー・タグと同じです。詳細は、C.3.2.3.1項を参照してください。
ジョブのトリガーを指定するには、このヘルパー・タグを使用します。このタグは、addJob
タグ内で使用する必要があります。ボディでは、トリガーに関連付ける式を指定します。トリガーを指定しない場合のために、関連付けられたスケジュールの有効期限に基づいて実行するためのデフォルトのトリガーが用意されています。
例:
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:trigger>do_it_now</s:trigger> </s:addJob> </s:scheduler>
ジョブの再試行期間を指定するには、このヘルパー・タグを使用します。このタグは、addJob
タグ内で使用する必要があります。このタグのボディでは、任意の数の単位と関連する値で再試行期間を指定します。
表C-9に、retry
ヘルパー・タグでサポートされているヘルパー・タグを示します。
表C-9 retryヘルパー・タグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
× |
月単位で表される再試行期間。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
週単位で表される再試行期間。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
日単位で表される再試行期間。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
時間単位で表される再試行期間。このタグは、他の単位タグと組み合せて使用できます。 |
|
× |
分単位で表される再試行期間。このタグは、他の単位タグと組み合せて使用できます。 |
ジョブが失敗したときに、1時間半で再試行する場合は、次のコードを使用します。
<s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:className>TestJobImpl</s:className> <s:retry> <s:hours>1</s:hours> <s:minutes>30</s:minutes> </s:retry> </s:addJob> </s:scheduler>
表C-9で説明した単位タグの使用方法は、duration
ヘルパー・タグと同じです。詳細は、C.3.2.3.1項を参照してください。
ジョブのログ・レベルを指定するには、このヘルパー・タグを使用します。このタグは、addJob
タグ内で使用する必要があります。このタグのボディでは、ログ・レベルを指定します。次の値がサポートされています。
WARNING
ジョブで実行時例外が発生するたびにメッセージが記録されます。最も低いロギング・レベルです。
FINE
ジョブが開始および終了するたびにメッセージが記録されます。
FINER
ジョブに関連付けられたトリガーが評価されるたびにメッセージが記録され、評価の結果も記録されます。
FINEST
ジョブの完了時にメッセージが記録され、実行に要した累積時間も記録されます。最も高いロギング・レベルです。
ジョブ・スケジューラから既存のジョブを削除するには、このタグを使用します。このタグは、scheduler
タグ内で使用する必要があります。削除するジョブのoracle.ias.scheduler.Job
Beanのインスタンス名を指定します。
removeJob
タグでは、name
属性のみがサポートされています。この属性は、関連付けられたジョブへのアクセスに使用するBeanのインスタンス名を指定するときに使用するオプションの属性です。
次の例は、jobという名前のジョブを削除する方法を示しています。
<%@ taglib uri="scheduler-taglib" prefix="s" %> <jsp:useBean id="job" class="oracle.ias.scheduler.Job" scope="session"/> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:removeJob name="job"/> </s:scheduler>
ジョブ・スケジューラの既存のジョブを一時停止するには、このタグを使用します。このタグは、scheduler
タグ内で使用する必要があります。一時停止するジョブのoracle.ias.scheduler.Job
インスタンス名を指定します。
pauseJob
タグでは、name
属性のみがサポートされています。この属性は、関連付けられたジョブへのアクセスに使用するBeanのインスタンス名を指定するときに使用するオプションの属性です。
次の例は、jobという名前のジョブを一時停止する方法を示しています。
<%@ taglib uri="scheduler-taglib" prefix="s" %> <jsp:useBean id="job" class="oracle.ias.scheduler.Job" scope="session"/> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:pauseJob name="job"/> </s:scheduler>
ジョブ・スケジューラの既存のジョブを再開するには、このタグを使用します。このタグは、scheduler
タグ内で使用する必要があります。再開するジョブのoracle.ias.scheduler.Job
インスタンス名を指定します。
resumeJob
タグでは、name
属性のみがサポートされています。この属性は、関連付けられたジョブへのアクセスに使用するBeanのインスタンス名を指定するときに使用するオプションの属性です。
次の例は、jobという名前のジョブを再開する方法を示しています。
<%@ taglib uri="scheduler-taglib" prefix="s" %> <jsp:useBean id="job" class="oracle.ias.scheduler.Job" scope="session"/> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:resumeJob name="job"/> </s:scheduler>
ジョブ・スケジューラの既存のジョブを取り消すには、このタグを使用します。このタグは、scheduler
タグ内で使用する必要があります。取り消すジョブのoracle.ias.scheduler.Job
インスタンス名を指定します。
cancelJob
タグでは、name
属性のみがサポートされています。この属性は、関連付けられたジョブへのアクセスに使用するBeanのインスタンス名を指定するときに使用するオプションの属性です。
次の例は、jobという名前のジョブを取り消す方法を示しています。
<%@ taglib uri="scheduler-taglib" prefix="s" %> <jsp:useBean id="job" class="oracle.ias.scheduler.Job" scope="session"/> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:cancelJob name="job"/> </s:scheduler>
ジョブ・スケジューラにブラックアウト・ウィンドウを追加するには、このタグを使用します。このタグは、scheduler
タグ内で使用する必要があります。
表C-10に、addBlackoutWindow
タグでサポートされているヘルパー・タグを示します。
表C-10 addBlackoutWindowタグのヘルパー・タグ
ヘルパー・タグ | 必須 | 説明 |
---|---|---|
|
○ |
ブラックアウト・ウィンドウの説明。 |
|
○ |
ブラックアウト・ウィンドウの期間。 |
|
× |
ブラックアウト・ウィンドウのスケジュール。ブラックアウト・ウィンドウを有効にする時間、頻度、期間を指定します。スケジュールを指定しない場合、ブラックアウト・ウィンドウは発行時から有効になります。 |
次の例では、発行後から2時間有効なブラックアウト・ウィンドウを追加します。
<%@ taglib uri="scheduler-taglib" prefix="s" %> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addBlackoutWindow> <s:description>two hour downtime, effective immediately</s:description> <s:duration> <s:hours>2</s:hours> </s:duration> </s:addBlackoutWindow> </s:scheduler>
ジョブ・スケジューラから既存のブラックアウト・ウィンドウを削除するには、このタグを使用します。このタグは、scheduler
タグ内で使用する必要があります。
次の例は、ブラックアウト・ウィンドウの説明を使用して、既存のブラックアウト・ウィンドウを削除する方法を示しています(ブラックアウト・ウィンドウを作成したC.3.7項を参照)。
<%@ taglib uri="scheduler-taglib" prefix="s" %> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:removeBlackoutWindow>two hour downtime, effective immediately</s:removeBlackoutWindow> </s:scheduler>
ここでは、この章で説明した様々なタグの包括的な使用例を示します。
例C-1は、発行されたすべてのジョブを一覧表示する方法を示しています。
例C-1 発行されたすべてのジョブの一覧表示
<%@ taglib uri="scheduler-taglib" prefix="s" %> <HTML> <HEAD> <TITLE>OracleAS Job Scheduler: all jobs</TITLE> </HEAD> <BODY> <TABLE> <TR> <TH>Description</TH> <TH>Class Name</TH> </TR> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:jobIterator id="job"> <TR> <TD><jsp:getProperty name="job" property="Description"/></TD> <TD><jsp:getProperty name="job" property="ClassName"/></TD> </TR> </s:jobIterator> </s:scheduler> </TABLE> </BODY> </HTML>
例C-2は、ジョブ・スケジューラにジョブを発行する方法を示しています。この例では、JSPページにHTTPリクエストを送信します。リクエストが処理されると、JSPからステータス・ページにリクエストが転送されます。次の表は、リクエストのパラメータの説明です。
パラメータ | 説明 |
---|---|
description
|
ジョブの説明 |
class
|
ジョブ実装クラス名 |
expirationDate
|
ジョブ・スケジュールの有効期限の日付 |
expirationTime
|
ジョブ・スケジュールの指定されたexpirationDate の有効期限の時間
|
intervalDays
|
ジョブ・スケジュールの繰返し間隔 |
例C-2 ジョブ・スケジューラへのジョブの発行
<%@ taglib uri="scheduler-taglib" prefix="s" %> <jsp:useBean id="params" scope="request" class="RequestParametersBean" /> <jsp:setProperty name="params" property="*" /> <HTML> <BODY> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:addJob> <s:description><jsp:getProperty name="params" property="description"/></s:description> <s:class><jsp:getProperty name="params" property="class"/></s:className> <s:schedule> <s:duration><jsp:getProperty name="params" property="expirationDate"/></s:duration> <s:interval><jsp:getProperty name="params" property="expirationTime"/></s:interval> </s:schedule> </s:addJob> </s:scheduler> <jsp:forward url="/JobScheduled.html"/> </BODY> </HTML>
例C-3は、ジョブ・スケジューラからジョブを削除する方法を示します。この例では、説明とクラスに基づいてジョブを削除します。ジョブが削除されると、JSPからステータス・ページにリクエストが転送されます。
例C-3 ジョブ・スケジューラからのジョブの削除
<%@ taglib uri="scheduler-taglib" prefix="s" %> <HTML> <BODY> <s:scheduler id="scheduler" name="java:comp/env/ejb/scheduler"> <s:jobIterator id="job" desc="description of job to remove" class="test"> <s:removeJob/> </s:jobIterator> </s:scheduler> <jsp:forward url="/JobRemoved.html"/> </BODY> </HTML>