一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring @Async無法實現異步的解決方案

Spring @Async無法實現異步的解決方案

2022-01-25 13:12lxxxzzl Java教程

這篇文章主要介紹了Spring @Async無法實現異步的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring @Async無法實現異步

問題原因

項目中存在2個配置文件:springMVC.xml和beanDefines.xml,它們都配置了<context:component-scan base-package="com" />。

在beanDefines.xml還配置了<task:annotation-driven/>。

從啟動日志中發現,spring先加載的是beanDefines.xml,后加載的是springMVC.xml。

由于springMVC.xml的context:component-scan覆蓋了beanDefines.xml的配置,而<task:annotation-driven/>是否有效是依賴于context:component-scan的配置的。

導致beanDefines.xml配置的<task:annotation-driven/>不起作用了。

解決辦法

1、刪除beanDefines.xml的<context:component-scan base-package="com" />和<task:annotation-driven/>;

2、springMVC.xml添加配置<task:annotation-driven/>。

 

@Async不起作用

首先介紹一下如何@Async注解,

1.xml頭文件必須配置標記紅色部分

Spring @Async無法實現異步的解決方案

2.配置任務和線程池

<!-- 任務及線程池 -->
<task:annotation-driven executor="asyncExecutor" />
<task:executor id="asyncExecutor" pool-size="100-10000" queue-capacity="10"/>
<!-- 注解掃描 -->
<context:component-scan base-package="com.baisq">
<context:include-filter type="annotation"
	expression="org.springframework.stereotype.Controller" />
</context:component-scan>

3.配置spring依賴的jar(不介紹這個了)

4.在你需要異步調用的方法上使用@Async注解

Spring @Async無法實現異步的解決方案

5.但是你可能遇到@Async不起作用的時候

我就遇到了,我的問題是容器啟動加載了如下兩個xml文件

Spring @Async無法實現異步的解決方案

springmvc.xml文件僅僅配置掃描注解,applicationContext.xml配置了任務和線程池和掃描注解,先加載了applicationContext.xml,后加載了springMvc.xml。

applicationContext.xml為掃描到的類加上@Async的作用(任務和線程池的配置依賴于掃描到的類),然后springMvc加載后的bean覆蓋了applicationContext的bean,覆蓋掉了@Async的作用,因為springmvc沒有配置任務和線程池,

導致@Async沒有起到作用。

6.如果你遇到上述問題

檢查一下加載的xml文件是否存在覆蓋的問題。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/lxxxzzl/article/details/39735561

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
主站蜘蛛池模板: 亚洲福利视频一区 | 欧美video丝袜连裤袜bd | 小鸟酱喷水| 亚洲视频在线一区二区三区 | 肉蒲在线观看 | 男人的天堂日本 | 男人午夜视频在线观看 | 欧美同性猛男野外gay免费 | 国产第一福利影院 | 国产成人久久精品区一区二区 | naruto hentai玖辛奈| 扒开斗罗美女了的胸罩和内裤漫画 | 纲手被鸣人插 | 调教全程肉动画片在线观看 | 大肥婆丰满大肥奶bbw肥 | 午夜视频一区二区三区 | kkkk4444在线看片 | 丝瓜视频黄色在线观看 | 日本道色综合久久影院 | 九色PORNY真实丨国产大胸 | 四虎影视最新 | 免费370理论片中文字幕 | 免费视频一级片 | 教室眠催白丝美女校花 | 欧美亚洲国产一区二区三区 | 亚洲网色 | 星星动漫无删减在线观看 | 陈峰姚瑶全集小说无删节 | 99r视频在线观看 | 日本色女 | 亚洲酒色1314狠狠做 | 欧美一区精品 | 亚洲26uuuu最新地址 | 免费国产成人高清视频网站 | 亚洲欧洲日产国码无码av | 韩国三级在线播放 | 天天插在线视频 | 亚洲色图第四色 | nxgx国产 | 国内外精品免费视频 | 欧美一卡2卡3卡无卡 |