パッケージ jakarta.ejb

クラス ScheduleExpression

  • 実装されたすべてのインターフェース:
    SerializableSE

    public class ScheduleExpression
    extends ObjectSE
    implements SerializableSE

    Enterprise Bean タイマーのカレンダーベースのタイムアウト式。

    カレンダーベースのタイムアウトスケジュールの定義に使用される各属性には、2 つのオーバーロードされた setter メソッドがあります。1 つは文字列を受け取り、もう 1 つは整数を受け取ります。int バージョンは、値が単純な整数値である一般的な場合に属性を設定するための便利なメソッドにすぎません。

    以下に例を示します。

     scheduleExpression.second(10)
     
    意味的には
     scheduleExpression.second("10")
     
    以下にリストするスケジュール仕様を構成する 7 つの属性があります。さらに、timezone 属性を使用して、スケジュール仕様が評価されるコンテキストのデフォルト以外のタイムゾーンを指定することもできます。

    カレンダーベースのスケジュール自体を指定する属性は次のとおりです。

    • 秒: 1 分以内に 1 秒以上

      許容値: [0,59]

    • 分: 1 時間以内に 1 分以上

      許容値: [0,59]

    • 時間: 1 日のうち 1 時間以上

      許容値: [0,23]

    • dayOfMonth : 月内の 1 日以上

      許容値:

      • [1,31]
      • [-7, -1]
      • " 最終 "
      • {"1st", "2nd", "3rd", "4th", "5th", "Last"} {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}

      「最終」は月の最終日を意味します

      -x(x は [-7、-1] の範囲内)は、月の最終日の x 日前を意味します

      曜日に "1st"、"2nd" などを適用すると、その月のその日の 1 回の出現を識別します。

    • 月: 1 年以内の 1 か月以上

      許容値:

      • [1,12]
      • {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", Dec"}
    • 曜日: 1 週間に 1 日以上

      許容値:

      • [0,7]
      • {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}

      "0" と "7" はどちらも日曜日を指します

    • 年: 特定の暦年

      許容値: 4 桁の暦年

    各属性は、次のいずれかの形式で表された値をサポートします

    • 単一値。これにより、属性が可能な値の 1 つだけに制約されます。
      
       Example: second = "10"
       Example: month = "Sep"
       
    • ワイルドカード。"*" は、特定の属性に許可されるすべての値を表します。
       Example: second = "*"
       Example: dayOfWeek = "*"
       
    • リスト。これにより、属性が 2 つ以上の許容値または範囲に制限され、文字列内の区切り文字としてコンマが使用されます。リスト内の各項目は、単一の値または範囲である必要があります。リストアイテムは、リスト、ワイルドカード、増分にすることはできません。重複する値は無視されます。
       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 と同等です。インクリメントの使用は、secondminutehour 属性内でのみサポートされています。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" など)では大文字と小文字は区別されません。

    スケジュールベースのタイマー時間は、アプリケーションが実行されているコンテナーに関連付けられているデフォルトのタイムゾーンのコンテキストで評価されます。スケジュールベースのタイマーは、オプションでこのデフォルトを上書きし、特定のタイムゾーンに関連付けることができます。スケジュールベースのタイマーが特定のタイムゾーンに関連付けられている場合、コンテナーが実行されているデフォルトのタイムゾーンに関係なく、そのすべての時間はそのタイムゾーンのコンテキストで評価されます。

    ScheduleExpression メソッドを呼び出す必要はありません。デフォルトは次のとおりです。

    • 秒: "0"
    • 分: "0"
    • 時間: "0"
    • dayOfMonth: "*"
    • 月: "*"
    • 曜日: "*"
    • 年: "*"
    • タイムゾーン: デフォルトの JVM タイムゾーン
    • 開始: タイマー作成時
    • 終了: 終了日なし

    アプリケーションは、カレンダーベースのタイムアウトスケジュールの属性を返す getter メソッドに依存して、ScheduleExpression メソッドに渡された、または Schedule アノテーションに提供されたのと同じ構文形式で返す必要があります。また、移植可能な実装では、特定の構文形式。実装は、セマンティックの同等性を維持するためにのみ必要です。

    導入:
    EJB 3.1
    関連事項:
    直列化された形式
    • コンストラクターの詳細

      • ScheduleExpression

        public ScheduleExpression()
        デフォルト値でスケジュールを作成します。
    • メソッドの詳細

      • second

        public ScheduleExpression second​(int s)
        2 番目の属性を設定します。
        パラメーター:
        s - 値が単純な整数値の場合、int としての属性値
        戻り値:
        ScheduleExpression オブジェクト。
      • getSecond

        public StringSE getSecond()
        2 番目の属性の値を返します。
        戻り値:
      • minute

        public ScheduleExpression minute​(int m)
        分属性を設定します。
        パラメーター:
        m - 値が単純な整数値の場合、int としての属性値
        戻り値:
        ScheduleExpression オブジェクト。
      • getMinute

        public StringSE getMinute()
        分属性の値を返します。
        戻り値:
      • hour

        public ScheduleExpression hour​(int h)
        時間属性を設定します。
        パラメーター:
        h - 値が単純な整数値の場合、int としての属性値
        戻り値:
        ScheduleExpression オブジェクト。
      • getHour

        public StringSE getHour()
        時間属性の値を返します。
        戻り値:
        時間
      • dayOfMonth

        public ScheduleExpression dayOfMonth​(int d)
        日属性を設定します。
        パラメーター:
        d - 値が単純な整数値の場合、int としての属性値
        戻り値:
        ScheduleExpression オブジェクト。
      • getDayOfMonth

        public StringSE getDayOfMonth()
        日属性の値を返します。
        戻り値:
        月の日
      • month

        public ScheduleExpression month​(int m)
        月属性を設定します。
        パラメーター:
        m - 値が単純な整数値の場合、int としての属性値
        戻り値:
        ScheduleExpression オブジェクト。
      • getMonth

        public StringSE getMonth()
        月属性の値を返します。
        戻り値:
      • dayOfWeek

        public ScheduleExpression dayOfWeek​(int d)
        曜日属性を設定します。
        パラメーター:
        d - 値が単純な整数値の場合、int としての属性値
        戻り値:
        ScheduleExpression オブジェクト。
      • getDayOfWeek

        public StringSE getDayOfWeek()
        曜日属性の値を返します。
        戻り値:
        曜日
      • year

        public ScheduleExpression year​(int y)
        年属性を設定します。
        パラメーター:
        y - 値が単純な整数値の場合、int としての属性値
        戻り値:
        ScheduleExpression オブジェクト。
      • getYear

        public StringSE getYear()
        年属性の値を返します。
        戻り値:
      • timezone

        public ScheduleExpression timezone​(StringSE timezoneID)
        タイムゾーンを設定します。
        パラメーター:
        timezoneID - ID 文字列として指定されたタイムゾーン
        戻り値:
        ScheduleExpression オブジェクト。
      • getTimezone

        public StringSE getTimezone()
        設定されている場合は、タイムゾーンを返します。それ以外の場合は null。
        戻り値:
        タイムゾーン
      • getStart

        public DateSE getStart()
        設定されている場合は、開始日を返します。それ以外の場合は null。
        戻り値:
        開始日
      • getEnd

        public DateSE getEnd()
        設定されている場合は、終了日を返します。それ以外の場合は null。
        戻り値:
        終了日