タイミングタスクを達成するために、スプリング二つの方法

一つの方法:ノート

1、春のコンフィギュレーションファイルの名前空間にタスクを追加しました

1 
2
3
xmlns:タスク= "http://www.springframework.org/schema/task" 
のhttp:
のhttp://www.springframework.org/schema/task/spring-task-3.0.xsd

2、スキャンノートを設定

1 
2
<タスク:注釈ドリブン/> 
<文脈:コンポーネント・スキャン塩基パッケージ = 「com.glaway.offline.JobDemo」 />

3、書き込みなどのタスクを実行するには

1 
2
3
4
5
6
7
8
9
10
11
パッケージ com.glaway.offline.JobDemoを。
輸入 org.springframework.scheduling.annotation.Scheduled;
輸入 org.springframework.stereotype.Component;


パブリック クラス { @Scheduled(クーロン= "?* * * * 0/10" // 10秒間隔で行う公共ボイドexecuteJob () { System.out.printlnは("スケジュールされたタスクデモ"); } }





4、注意:

  1. 実装上の書き込みノートへ@Scheduled必要
  2. メソッドタスクタイマーは、戻り値を持ちません
  3. コンポーネントは、クラスのノートに達成されなければならない@Component

第二の方法:プロフィール

1、春のコンフィギュレーションファイルの名前空間を追加するのと同じタスク

1 
2
3
xmlns:タスク= "http://www.springframework.org/schema/task" 
のhttp:
のhttp://www.springframework.org/schema/task/spring-task-3.0.xsd

2、設定ファイルを書きます

1 
2
3
4
5
6
7
8
< -タイミング注釈を駆動! - > 
<注釈タスクドリブン/>
<! - Beanとして定義されるタイミングタスククラスは、 - >
<ビーンID = "timeJobDemo"クラス=「com.glaway .offline.JobDemo.TimeJobDemo「> </豆>
< -タスク定義タイマによるタグ- >!
<タスク:スケジュール・タスク>
<TAS 大きな柱  タイミング春のタスクを達成するには2つの方法があり kは:予定さREF = "timeJobDemo"メソッド、= "executeJob"のcron = "0/10 * * * *?" />
</タスク:スケジュール、タスク>

3、書き込みなどのタスクを実行するには

1 
2
3
4
5
6
7
パッケージ com.glaway.offline.JobDemoを。

パブリック クラス { 公共ボイドexecuteJob () { System.out.printlnは("スケジュールされたタスクデモ"); } }




拡張子:タイマー時間の設定

以下のような: "0/10 ?"

CronTrigger完全に構成されたフォーマット:[秒]、[分]、[時間]、[日]、[月]、[週]、[年]

いいえ。 説明 必須 の値を許され ワイルドカードを許可
1 第2 それはあります 0-59 、 - * /
2 分割 それはあります 0-59 、 - * /
3 とき それはあります 0-23 、 - * /
4 それはあります 1-31 、 - *?/ LW
5 それはあります 1-12またはJAN-DEC 、 - * /
6 それはあります 1-7またはSUN-SAT 、 - *?/ LW
7 ノー 空または1970-2099 、 - * /

ワイルドカードの説明:

    • サブフィールド上に提供「*」分ごとにトリガを示している次のようなすべての値を表します。
  • ?彼らは値を指定していないと述べました。シーンは、この分野の現在の設定値を気にしないために使用されます。

  • 操作の各月の10日にトリガするために、特定の周辺位置は00010 *に設定されているため、フィールドが設定されている必要があるので、数週間を懸念されていません。たとえば、「?」?

    • 間隔を表します。例えば、時間の「10-12」、10、11を設定し、ポイントがトリガされる表します。
  • こうした週フィールドに「MON、WED、FRI」を設定するなど、複数の値を、指定示し月曜日、水曜日と金曜日の引き金にしました

  • /トリガーをインクリメントします。「5/15」セットとして上記トリガ(5,20,35,50)によって15秒毎、5秒間秒を表します。3日ごとに示すトリガさ一度、月に月フィールド「1/3」スタート第1に設定してください。

  • Lは、最終的な意味を表します。フィールドでは、その日、最終日を表す(2月にも、それは閏年であるかどうかに基づいている場合、現在の月に基づいて[飛躍])月を設定し、週フィールドに「7」または「SAT」の同等、土曜日表明しました。「L」であれば、デジタル前に、データの最後を示します。例えば、週フィールドに、このフォーマット「6L」を設定し、それは「月の最終金曜日」を意味します。

  • Wは、(月曜日〜金曜日)毎日フィールド日付指定曜日に最も近い上の例のセット「15W」を表すトリガー最近から毎月15日を表します。15日は土曜日であることを起こる場合は、最寄りの金曜日(14)を見つけるトリガされた数15が週末であれば、その後、最寄りの次の月曜日(16)がトリガさを探します。もしわずか15営業日での数(月曜日から日曜日までe)は、その日にトリガ。あなたは「1W」の形式を指定した場合、それは1ヶ月後数日がトリガーと述べました。土曜日は、第1の場合は、第3月曜日トリガされます。(唯一の特定の番号の前に設定することができ、「W」注、間隔許可されていません「 - 」)。

  • 「L」と「W」は組み合わせて使用​​してもよいです。日本のフィールドに「LW」に設定した場合、月の最終営業日をトリガし、

  • まあシリアルナンバー(毎月数の最初の数週間)、フィールド・ウィーク「6#3」に。あなたは、「#5」、土曜日の月の第3週のだけではなく、5週を指定した場合ことに注意してください例えば第六には、コンフィギュレーションは、(母の日や父の日に完璧にフィットして)トリガされません。

  • 円周方向のフィールドを設定し、文字の使用は、すなわち、MONが同じもん、大文字と小文字は区別されません。

おすすめ

転載: www.cnblogs.com/lijianming180/p/12037975.html