據說springboot有個注解@Async可以實現異步調用,然后我來用用看!
增加一個maven新模塊:
java異步返回結果。
增加如下依賴,不增加配置:
java 異步調用、然后我們寫一個異步調用的服務:
這里需要實現異步的功能,還需要在Application加上注解@EnableAsync,類似于Spring的<task:*> XML命名空間中的功能。
springboot異步日志?
然后我們寫一個測試用例
日志輸出:
從上面的日志中,我們可以看到調用是異步執行的,就是使用一下這個功能,實際上使用也不用這么復雜吧,使用的Future<String>,我們在新版本的JDK中,還可以使用其他的方式!
我們可以看到在EnableAsync注解中有@Import?AsyncConfigurationSelector.class(用來導入一個或多個class,這些類會注入到spring容器中,或者配置類,配置類里面定義的bean都會被spring容器托管)。
@EnableAsync注釋啟動了Spring在后臺線程池中運行@Async方法的能力。該類還自定義使用的Executor。在我們的示例中,我們希望將并發線程數限制為2并將隊列大小限制為500.您可以調整更多內容。默認情況下,使用SimpleAsyncTaskExecutor。
?文檔里寫了@Async有兩個使用的限制:
下節再續!
有什么討論的內容,可以加我公眾號:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态