Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为Web项目创建Solr HttpSolrServer对象时的最佳实践_Java_Http_Object_Solr_Solrj - Fatal编程技术网

Java 为Web项目创建Solr HttpSolrServer对象时的最佳实践

Java 为Web项目创建Solr HttpSolrServer对象时的最佳实践,java,http,object,solr,solrj,Java,Http,Object,Solr,Solrj,我正在一个web项目中使用Solr-5.0.0。我只是在我的构造函数中创建HttpSolrServer对象,如下所示 static HttpSolrClient solr; public SolrTestDAO() { if (solr == null) { solr = new ttpSolrClient("http://localhost:8983/solr/testDB"); } } 将我的HttpSolrServer对象用作静态对象是否有任何问题,因为

我正在一个web项目中使用Solr-5.0.0。我只是在我的构造函数中创建HttpSolrServer对象,如下所示

static HttpSolrClient solr;

public SolrTestDAO() {
    if (solr == null) {
        solr = new ttpSolrClient("http://localhost:8983/solr/testDB");
    }
}

将我的HttpSolrServer对象用作静态对象是否有任何问题,因为它是一个web项目。如果不是正确的方法,有人能给我建议正确的方法,这样我的应用程序性能就会很高,内存使用率就会太低。

没有。事实上,这是使用HttpSolrServer的预期方式。以下是HttpSolrServer代码中的注释片段:

HttpSolrServer是线程安全的,如果使用以下构造函数, 您必须对所有请求重复使用同一实例。如果在上创建实例 苍蝇,它会导致连接泄漏。建议的做法是保持 每个solr服务器url的HttpSolrServer静态实例,并为所有请求共享它

看。还有一篇有趣的博文,是关于如果你不把它变成静态的,会发生什么