2016-11-19 8 views
1

私はSparkJavaを使ってウェブサイトを作っています。現在、アカウント管理システムを持っています。私は、データベースに非同期に要求し、ListenableFuture<Account>を返すコントローラ、LoginControllerを持っています。sparkjava/embedded jettyサーバーのメインスレッドエグゼキュータを取得する方法はありますか?

アカウントマネージャの呼び出しは、しかし、私はAccountが(非同期)をつかんされた後にのみサイト(同期)にユーザーをリダイレクトしたい、私のLoginControllerRouteの内部で行われています。

私はreturnedFuture.addListener(runnableThatRedirectsUser, <executor>)を行うことができますが、どうすればsparkjava/jettyのメイン/シンクスレッドの<executor>を取得できますか?

助けてください/アドバイスありがとうございます!ありがとう!

答えて

0

これは私のせいです。 sparkjavaの各リクエストが新しいスレッド(または少なくともThreadPoolがある)であることを認識したので、メインスレッドに戻ることやデータベースタスク用の非同期スレッドを持つことについて心配する必要はありません。

+0

Jettyの場合、要求の各ディスパッチはスレッドによって処理されますが、要求交換の存続期間中はそのスレッドを保持する必要はありません。 Jettyは、/とアクティブスレッドを持たない要求を持つことができます。 1つの要求/応答交換は、その存続期間にわたって複数の異なるスレッドによって処理することができます。 –

-1

静的にしてください。それはすべてをより簡単にする

関連する問題