最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot非分布式定時任務(wù)實現(xiàn)代碼

 更新時間:2020年11月19日 09:51:51   作者:大唐冠軍侯  
這篇文章主要介紹了Springboot非分布式定時任務(wù)實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1. 核心注解

在springboot項目中我們可以很方便地使用spring自己的注解@Scheduled和@EnableScheduling配合來實現(xiàn)便捷開發(fā)定時任務(wù)。

@EnableScheduling注解的作用是發(fā)現(xiàn)注解@Scheduled的任務(wù)并后臺執(zhí)行,此注解可以加到啟動類上也可以加到執(zhí)行調(diào)度任務(wù)類上。

經(jīng)測試,當有多個包含定時任務(wù)的類時,@EnableScheduling注解加在其中一個類上就可以保證所有定時任務(wù)的成功實現(xiàn)。

注意:定時任務(wù)的類上還需要配合使用@Configuration或@Component注解,這兩個注解都可以。

2. 實例代碼

2.1 @EnableScheduling加在啟動類上;

import com.my.common.util.DateUtil;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @description:
 * @author: Karl
 * @date: 2020/10/10
 */
@Component
public class TestSchedule01 {

  @Scheduled(cron = "0 * * * * ? ")
  public void test() {
    System.out.println("我是定時任務(wù)01,我執(zhí)行了" + DateUtil.formatDateByDateTime(new Date()));
  }
}

import com.my.common.util.DateUtil;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @description:
 * @author: Karl
 * @date: 2020/10/10
 */
@Configuration
public class TestSchedule02 {

  @Scheduled(cron = "1 * * * * ? ")
  public void test() {
    System.out.println("我是定時任務(wù)02,我執(zhí)行了" + DateUtil.formatDateByDateTime(new Date()));
  }
}

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableScheduling
@SpringBootApplication
public class DemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }

}

2.1 @EnableScheduling加在任務(wù)類上;

import com.my.common.util.DateUtil;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @description:
 * @author: Karl
 * @date: 2020/10/10
 */
@Component
@EnableScheduling
public class TestSchedule01 {

  @Scheduled(cron = "0 * * * * ? ")
  public void test() {
    System.out.println("我是定時任務(wù)01,我執(zhí)行了" + DateUtil.formatDateByDateTime(new Date()));
  }
}

import com.my.common.util.DateUtil;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @description:
 * @author: Karl
 * @date: 2020/10/10
 */
@Configuration
public class TestSchedule02 {

  @Scheduled(cron = "1 * * * * ? ")
  public void test() {
    System.out.println("我是定時任務(wù)02,我執(zhí)行了" + DateUtil.formatDateByDateTime(new Date()));
  }
}

注意:只需要在其中一個任務(wù)類上加上@EnableScheduling注解,所有的定時任務(wù)就都可以正常運行。

3. @Scheduled的幾種用法

@Scheduled這個注解支持3種定時方式,即:cron、fixedRate和fixedDelay

cron:是以表達式的形式來表示時間,最常見;

fixedRate:表示Scheduled隔多長時間調(diào)用一次,不管任務(wù)是否執(zhí)行完;

fixedDelay:表示該任務(wù)執(zhí)行完后隔多長時間再調(diào)用;

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

江源县| 庆安县| 华蓥市| 大邑县| 修文县| 印江| 团风县| 包头市| 莒南县| 修武县| 阜阳市| 长治市| 怀安县| 景东| 禹城市| 友谊县| 六枝特区| 武汉市| 文水县| 安福县| 霍州市| 高密市| 赞皇县| 新和县| 洛南县| 郎溪县| 中江县| 青岛市| 萍乡市| 洛浦县| 临沭县| 淅川县| 临桂县| 文昌市| 天峨县| 高平市| 江城| 通海县| 郸城县| 浮山县| 南皮县|