他のサービスへのネットワークコールを行う埋め込みJettyを使用してアプリケーションを作成しました。Java非ブロック化HTTPサーバー
ネットワークコールが完了するのを待っている間、サービススレッドがアイドル状態であると推測します。
現時点で実行可能な作業を実行する要求と、ネットワーク呼び出しから返される作業を処理する要求を切り替える方法はありますか?すべての作業が完了すると、要求が返されます。
これは一般的なパラダイムであり、非ブロッキングTCPネットワーキングに使用していますが、外部結果を待つ間にJava HTTPサーバーでこれを実現する方法は不明です。
いずれかのリンクや説明をいただければ幸いです。
おかげ
アップデート:私はMemBase値とElasticSearch(唯一のネットワーク呼び出し)を使用してい 。 Membaseは "Future"オブジェクトを返し、ElasticSearchは "ListenableActionFuture"を返します。これらのオブジェクトが返されたことに応じて、スレッド上で処理を続行できるようにしたいと考えています。
あなたはどのバージョンのJettyを使用していますか?私は最新のServlet 3.0 APIをサポートしていることを知っています。Servlet 3.0 APIは、非同期要求処理のための機能を備えています。しかし、私はすべての詳細を知らない。 –