私はSpring Bootを使用していますが、データベースにオブジェクトを永続させ、さらに3〜4の他のサービスを呼び出すなど、しかし、私はデータベース呼び出しが永続化された直後に応答を返し、別のスレッドで他のサービスを非同期に呼び出したいと思いますか?他の3-4サービスへの呼び出しは最終的に一貫性があります(たとえば、keen.io分析サービスへの呼び出しなど)。これはSpringブートでどのように簡単に実行できますか?いくつかの呼び出しを非同期的に行い、Spring Controllerからすぐに戻ります。
0
A
答えて
0
解決策の1つは、キューを監視してスレッドを実行して、何らかの作業をいつ実行するかを判断することです。要求が即時タスクを完了すると、キューに情報が追加され、監視スレッドは何らかの作業を行う必要があることを理解できます。パフォーマンスを向上させるためにキューを監視するスレッドのプールを持つことができます。これは、アクションを非同期で実行する機能を提供する、イベントベースのプログラミングのためのかなり標準的なパターンです。
1
私はこの仕事に春は必要ないと思います。 java.util.concurrent.CompletableFuture#runAsyncを使用して、別のスレッドでsth asyncを実行できます。
また、スプリングasync supportを使用することもできます。 @Async
で春の豆のメソッド(あなたの場合はvoidを返す)に注釈を付けるだけです。 @EnableAsyncという設定クラスに注釈を付けることで、非同期サポートを有効にすることを忘れないでください。
+0
Mathiasと合意、Spring Asyncが最適なソリューションを探します。 –
関連する問題
- 1. 非同期呼び出しからの戻り値
- 2. 非同期ライブラリから非同期呼び出しを行う?
- 3. 非同期に非同期デリゲートを呼び出しますか?
- 4. ジャスミン1.3でいくつかの非同期呼び出し
- 5. Spring MVCコントローラからの非同期呼び出し
- 6. 非同期コードから非同期メソッドを呼び出す
- 7. 非同期呼び出しから非同期呼び出しに例外をスローする
- 8. 非同期API呼び出しを再帰的に呼び出します。
- 9. Swift - 非同期呼び出し(Firebase)に割り当てられた戻り値
- 10. Spring ControllerからJava Modal関数を呼び出しますか?
- 11. API呼び出しを非同期で行います
- 12. Java JavaScriptからの非同期呼び出しの同期
- 13. 非同期メソッドから同期メソッドを呼び出す
- 14. 非同期呼び出し内の非同期呼び出しが実行されない
- 15. 非同期メソッド(Web呼び出しを行う)を非同期にラップする
- 16. 非同期呼び出しを戻す方法は同期的に処理されます
- 17. 非同期に非同期にPython呼び出しリモートオブジェクトメソッド
- 18. WCF非同期呼び出しが遅い、同期呼び出し高速
- 19. Ajax非同期呼び出しtrue戻り値
- 20. Springコントローラからの非同期呼び出しでエラーが発生する
- 21. 非同期呼び出し
- 22. boost :: asioの非同期呼び出しは自動的にタイムアウトしますか?
- 23. ASP.NET MVCアプリケーションから非同期にWCFを呼び出す
- 24. Swift + iOS:非同期呼び出しからクロージャを呼び出す方法は?
- 25. Silverlight - メソッドから戻る前に非同期呼び出しが終了するまで待つ
- 26. 非同期非同期/待機メソッドを再帰的に呼び出す
- 27. ASP.NET Webフォーム - 非同期的にWCF非同期メソッドを呼び出す方法
- 28. これは単純な非同期呼び出しを非同期にしていますか?
- 29. 非同期呼び出しでAddSingletonを呼び出しますか?
- 30. 非同期メソッドから非同期メソッドを呼び出す方法
他のスレッドでタスクを起動しないようにします。 –
コントローラが復帰すればいいでしょうか? – demig0d
未完了のタスクが正常に完了するかどうかは分かりません。 –