亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot開(kāi)啟異步調(diào)用方法

 更新時(shí)間:2019年09月24日 08:31:02   作者:A 是小阿怪啊  
這篇文章主要為大家詳細(xì)介紹了SpringBoot開(kāi)啟異步調(diào)用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

異步調(diào)用無(wú)需等待,方法相當(dāng)于子線程,后臺(tái)執(zhí)行,主線程執(zhí)行完成,子線程開(kāi)始執(zhí)行。
SpringBoot 開(kāi)啟異步執(zhí)行僅需兩步:

方法上加 @Async

@Override
  @Async
  @Transactional(rollbackFor = Exception.class)
  public Integer init(DatePojo datePojo){

    //xxxxxxxxxxx 業(yè)務(wù)略 xxxxxxx
    log.info(" 起止日期為 : {} , {} ", start, end);

  //xxxxxxxxxxxxx 業(yè)務(wù)略 xxxxxxx

    log.info(" ------------------ 【能源入庫(kù)完成】------------------ {}", nyList);
    log.info(" ------------------ 【新能源初始化結(jié)束】------------------");

    return 0;

  }

main 方法 開(kāi)啟 @EnableAsync

@SpringBootApplication
@EnableAsync
public class Application {

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

}

controller

@PostMapping("/ny")
  public ReturnMessage ny( @RequestBody DatePojo datePojo, BindingResult result) {
    log.info(" 【 能源初始化接口調(diào)用開(kāi)始 】");
    //業(yè)務(wù)類(lèi)
    Integer data = xstjJdcNyService.init(datePojo);
    log.info(" 【 能源初始化接口調(diào)用結(jié)束 】");

    return new ReturnMessage(CodeMsgEnum.OK.getCode(), CodeMsgEnum.OK.getMsg(), data);
  }

執(zhí)行結(jié)果


可以看到 controller 先執(zhí)行完成然后返回狀態(tài),接著 方法才開(kāi)始執(zhí)行。

錯(cuò)誤

Spring之AOP奇葩報(bào)錯(cuò):Null return value from advice does not match primitive return type for
原因是返回為null 基本類(lèi)型要用包裝類(lèi)型。

總結(jié)

1 使用了@Async的方法,會(huì)被當(dāng)成是一個(gè)子線程,所有整個(gè)sendSms方法,會(huì)在主線程執(zhí)行完了之后執(zhí)行

2 同一個(gè)類(lèi)中,一個(gè)方法調(diào)用另外一個(gè)有@Async的方法,注解是不會(huì)生效的!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論