在 Web 应用程序中跨多个线程共享单个 HttpSolrServer 是否安全?推荐吗?
每次都构建一个新实例很昂贵吗?在我的机器上大约需要 10 毫秒。
在 Web 应用程序中跨多个线程共享单个 HttpSolrServer 是否安全?推荐吗?
每次都构建一个新实例很昂贵吗?在我的机器上大约需要 10 毫秒。
HttpSolrServer
查看(at grepcode )的来源后的一些观察
没有作为类变量维护的请求特定数据。因此,只要所有配置参数(如基本 URL、连接超时等)不被任何线程修改,HttpSolrServer
就可以在多线程环境中安全地使用 的实例。
HttpSolrServer
内部使用一个类ThreadSafeClientConnManager
来管理内部 http-client 连接上的线程安全(它使用 Apache HTTP Client 4.x 连接到 solr)。这可确保在与 Solr 服务器通信时不存在线程安全问题。
请看下面的链接可能会有所帮助: http: //lucene.472066.n3.nabble.com/Memory-problems-with-HttpSolrServer-td4060985.html