我正在使用Spring Boot,並且我有一個POST端點需要執行各種操作,例如將對象保存到數據庫,然後調用3-4個其他服務。但是,我想在數據庫調用持續不久後返回一個響應,然後在另一個線程上異步調用其他服務?對其他3-4個服務的呼叫可以最終保持一致(例如,致電keen.io分析服務)。這在Spring Boot中如何輕鬆實現?異步調用一些調用並立即從Spring Controller返回
0
A
回答
0
一種解決方案是讓一個正在監視隊列的線程運行,以確定何時執行某些工作。當請求完成其即時任務時,它會將信息添加到隊列中,以便監視線程可以理解它需要做一些工作。您可以有一個線程池監視隊列以提高性能。對於基於事件的編程來說,這是一種相當標準的模式,可以讓異步執行操作。
1
我認爲你甚至不需要春天來完成這份工作。您可以使用java.util.concurrent.CompletableFuture#runAsync在另一個線程上運行某種異步。您也可以使用彈簧async support。只需用@Async
註釋spring bean方法(在你的情況下返回void)。不要忘記通過使用@EnableAsync註釋配置類來啓用異步支持。
+0
同意Mathias,Spring異步看起來是最好的解決方案。 –
相關問題
- 1. 從WCF服務調用方法異步並立即返回
- 2. 使用GPars發送一個異步任務,並立即返回
- 3. 異步調用返回值?
- 4. 從異步調用返回響應
- 5. Spring異步RMI調用
- 6. 如何在調用時立即執行異步調用?
- 7. 異步Web服務調用返回null(從ASP.NET異步頁面調用)
- 8. 返回流立即然後寫異步
- 9. 異步回調返回null
- 10. 異步eachSeries - 回調從未調用
- 11. 異步調用與回調
- 12. 請問POSIX系統(3)立即調用異步shell命令返回嗎?
- 13. 從Web方法中調用異步方法並獲取返回
- 14. Spring異步調用支持?
- 15. spring mvc上傳文件並調用異步調用方法
- 16. Javascript - 等待一些異步回調返回?
- 17. NodeJS異步回調。如何從異步回調中返回列表?
- 18. iOS返回異步javascript調用值
- 19. WCF異步調用返回10054錯誤:
- 20. 異步調用不返回json
- 21. 異步AJAX調用返回什麼?
- 22. ES8立即調用異步函數表達式
- 23. 從WP8中的異步方法調用返回一個值C#
- 24. 從返回的for循環它有一個異步調用
- 25. 從異步調用返回一個對象
- 26. 使用回調節點異步並行
- 27. 併發異步回調
- 28. 回調異步並等待
- 29. 雜耍異步 - LearnYouNode - 立即調用函數表達式
- 30. 的Android追蹤哪些異步HTTP調用返回
因此在另一個線程中關閉任務。 –
如果控制器返回,它會好嗎? – demig0d
您不會知道未完成的任務是否成功完成。 –