ダイナミックタイマータスクを使用して春ブーツ

あなたが再パッケージのリリースを変更する必要がありますソースコードを変更する必要がある場合は、その場で変更することはできません、実際の開発プロセスでは、夜間にシステムメンテナンスの定期的なタスクを実行する必要があるかもしれませんが、CRO表現を変更する必要がある場合、我々は通常、上記の方法で書かれています。

1.新しい空白春のブートプロジェクトを作成します。

2、定期的なタスクを有効にすると、起動クラスに@EnableSchedulingノートを追加します。

3、新しいタスククラスのタイミング

1  @Component
 2  パブリック クラス TestTaskが実装SchedulingConfigurer {
 3  
4      プライベート 静的 最終列DEFAULT_CRON = "* * * * *?"を ;
5      プライベート文字列のcron = DEFAULT_CRON。
6  
7  
8      @Override
 9      公共 ボイドconfigureTasks(ScheduledTaskRegistrar taskRegistrar){
 10          のRunnableタスク= 新しいRunnableを(){
 11              @Override
 12              公共 ボイドラン(){
 13                  //スケジュールされたタスクの実行内容
14                  のSystem.out.println( "こんにちはダイナミックタスクこの!" );
 15              }
 16          };
 。17          トリガトリガ= 新しい新しいトリガー(){
 18である             @Override
 19。             公共日nextExecutionTime(TriggerContext triggerContext){
 20です                 // タイミングタスクトリガは、タイミングタスクの実行周期を変更する
 21                  // 発現構成タスクのアナログ取得タイミング
22である                  文字列thecron =「」;
 23は                 トライ{
 24                      RestTemplate RestTemplate = 新しい新しいRestTemplate();
 25                     thecron = restTemplate.getForObject( "のhttp:// localhostを:8089 /設定/ GETCONFIG"。、文字列クラス)。
26  
27                  } キャッチ(例外EX)
 28                  {
 29  
30                  }
 31                  であれば(StringUtils.isEmpty(thecron)){
 32                      クーロン= DEFAULT_CRON。
33                  } そうでなければ
34                  {
 35                      setCron(thecron)。
36                  }
 37                  CronTriggerトリガ= 新しいですCronTrigger(クーロン)。
38                  日nextExecDate = trigger.nextExecutionTime(triggerContext)。
39                  リターンnextExecDate。
40              }
 41          }。
42          taskRegistrar.addTriggerTask(タスク、トリガー)。
43      }
 44  
45      公共 ボイドsetCron(文字列クーロン){
 46          この .cron = クーロン。
47      }
 48 }
達成の動的タイミングタスク

 

おすすめ

転載: www.cnblogs.com/rolayblog/p/11275823.html