@TargetSE(valueSE=METHODSE) @RetentionSE(valueSE=RUNTIMESE) public @interface Schedule
このアノテーションのすべての要素はオプションです。何も指定されていない場合、永続タイマーが作成され、アプリケーションが実行されているコンテナーに関連付けられたデフォルトのタイムゾーンで毎日深夜にコールバックが発生します。
スケジュール仕様を構成する要素は 7 つあり、以下のとおりです。さらに、timezone
要素を使用して、スケジュール指定が評価されるコンテキストでデフォルト以外のタイムゾーンを指定できます。persistent
要素を使用して非永続タイマーを指定できます。info
要素を使用して、タイマーコールバックが発生したときに取得できる追加情報を指定できます。
カレンダベースのスケジュール自体を指定する要素は次のとおりです。
許容値: [0,59]
許容値: [0,59]
許容値: [0,23]
許容値:
「最終」は月の最終日を意味します
-x(x は [-7、-1] の範囲内)は、月の最終日の x 日前を意味します
曜日に "1st"、"2nd" などを適用すると、その月のその日の 1 回の出現を識別します。
許容値:
許容値:
"0" と "7" はどちらも日曜日を指します
許容値: 4 桁の暦年
各要素は、次のいずれかの形式で表される値をサポートします
Example: second = "10" Example: month = "Sep"
Example: second = "*" Example: dayOfWeek = "*"
Example: second = "10,20,30" Example: dayOfWeek = "Mon,Wed,Fri" Example: minute = "0-10,30,40"
x
が "x-y"
の範囲で y
よりも大きい場合、範囲は "x-max, min-y"
と同等です。ここで、max
は対応する属性の最大値であり、min
は最小値です。両方の範囲値が同じである範囲 "x-x"
は、単一の値 x
に評価されます。曜日の範囲 "0-7"
は、"*"
と同等です。Example: second = "1-10" Example: dayOfWeek = "Fri-Mon" Example: dayOfMonth = "27-3" (Equivalent to "27-Last , 1-3")
N
秒、分、または時間ごとに指定するために使用されます。式 x/y
の場合、属性は、時刻 x
から始まる許容値のセット内のすべての y
番目の値に制約されます。x
値は包括的です。ワイルドカード文字(*
)は x
位置で使用でき、0
と同等です。インクリメントの使用は、second
、minute
、hour
要素内でのみサポートされています。second
および minute
エレメントの場合、x
および y
はそれぞれ [0,59]
の範囲内にある必要があります。hour
エレメントの場合、x
と y
はそれぞれ [0,23]
の範囲内にある必要があります。Example: minute = "∗/5" (Every five minutes within the hour)これは:
minute = "0,5,10,15,20,25,30,35,40,45,50,55"
Example: second = "30/10" (Every 10 seconds within the minute, starting at second 30)これは:
second = "30,40,50"
その属性の最大値を超えると、一致する増分値のセットが停止することに注意してください。境界を越えて「ロールオーバー」することはありません。
Example : ( minute = "∗/14", hour="1,2")
これは: (minute = "0,14,28,42,56", hour = "1,2")
(午前 1 時と午前 2 時の間、1 時間以内に 14 分ごと。)
次の追加ルールがスケジュール指定要素に適用されます。
dayOfMonth
要素に非ワイルドカード値があり、dayOfWeek
要素に非ワイルドカード値がある場合、dayOfMonth
値または dayOfWeek
値のいずれかに一致する日が適用されると見なされます。"Sun"
、"Jan"
、"1st"
など)では大文字と小文字は区別されません。スケジュールベースのタイマー時間は、アプリケーションが実行されているコンテナーに関連付けられているデフォルトのタイムゾーンのコンテキストで評価されます。スケジュールベースのタイマーは、オプションでこのデフォルトを上書きし、特定のタイムゾーンに関連付けることができます。スケジュールベースのタイマーが特定のタイムゾーンに関連付けられている場合、コンテナーが実行されているデフォルトのタイムゾーンに関係なく、そのすべての時間はそのタイムゾーンのコンテキストで評価されます。
Schedule
アノテーションが適用されるタイムアウトコールバックメソッドには、次のいずれかのシグネチャーが必要です。<METHOD>
はメソッド名を指定します。
void <METHOD>() void <METHOD>(Timer timer)タイムアウトコールバックメソッドには、パブリック、プライベート、保護、パッケージレベルのアクセスがあります。タイムアウトコールバックメソッドは、final または static として宣言してはなりません。タイムアウトコールバックメソッドは、アプリケーション例外をスローしてはなりません。
修飾子と型 | オプションの要素と説明 |
---|---|
StringSE | dayOfMonth 1 か月内の 1 つ以上の日を指定します。 |
StringSE | dayOfWeek 1 週間以内の 1 日以上を指定します。 |
StringSE | hour 1 日のうち 1 時間以上を指定します。 |
StringSE | info タイマーに関連付けられている情報文字列を指定します |
StringSE | minute 1 時間で 1 分以上を指定します。 |
StringSE | month 1 年以内に 1 つ以上の月を指定します。 |
boolean | persistent 作成されるタイマーが永続的であるかどうかを指定します。 |
StringSE | second 1 分以内に 1 秒以上を指定します。 |
StringSE | timezone スケジュールが評価されるタイムゾーンを指定します。 |
StringSE | year 1 つ以上の年を指定します。 |
public abstract StringSE second
public abstract StringSE minute
public abstract StringSE hour
public abstract StringSE dayOfMonth
public abstract StringSE month
public abstract StringSE dayOfWeek
public abstract StringSE year
public abstract StringSE timezone
タイムゾーンが指定されていない場合、スケジュールは、アプリケーションが実行されているコンティナーに関連付けられたデフォルトのタイムゾーンのコンテキストで評価されます。
public abstract StringSE info
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.