Web アプリケーションの複数のスレッドで単一の HttpSolrServer を共有するのは安全ですか? おすすめですか?
毎回新しいインスタンスを構築するのはコストがかかりますか? 私のマシンでは、約10msかかります。
Web アプリケーションの複数のスレッドで単一の HttpSolrServer を共有するのは安全ですか? おすすめですか?
毎回新しいインスタンスを構築するのはコストがかかりますか? 私のマシンでは、約10msかかります。
HttpSolrServer
(grepcodeで)のソースを見た後のいくつかの観察
クラス変数として維持されるリクエスト固有のデータはありません。したがって、すべての構成パラメーター (ベース URL、接続タイムアウトなど) がどのスレッドによっても変更されない限り、 のインスタンスはHttpSolrServer
マルチスレッド環境で安全に使用できます。
HttpSolrServer
ThreadSafeClientConnManager
内部http-client 接続でスレッドセーフを管理するクラスを内部的に使用します (Apache HTTP クライアント 4.x を使用して solr に接続します)。これにより、Solr サーバーとの通信でスレッド セーフの問題が発生しないことが保証されます。
以下のリンクを参照してください。これが役立つ場合があります 。