Java SolrJ非端接螺纹
我正在运行以下程序。主线程正常运行并终止,但程序继续运行,因为一个名为pool-1-thread-1的线程从未终止。有人能提出代码有什么问题吗?配置文件都是在Solr的标准发行版中提供的Java SolrJ非端接螺纹,java,solr,solrj,Java,Solr,Solrj,我正在运行以下程序。主线程正常运行并终止,但程序继续运行,因为一个名为pool-1-thread-1的线程从未终止。有人能提出代码有什么问题吗?配置文件都是在Solr的标准发行版中提供的 package solrapp; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.embedde
package solrapp;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.core.CoreContainer;
public class SolrApp {
public static void main(String[] args) throws Exception {
CoreContainer coreContainer = new CoreContainer.Initializer().initialize();
SolrServer server = new EmbeddedSolrServer(coreContainer, null);
SolrQuery query = new SolrQuery("*:*");
QueryResponse response = server.query(query);
SolrDocumentList results = response.getResults();
System.out.println(results);
}
}
该类似乎有一个名为的方法
虽然我自己没有尝试过,但我想在打印结果后添加以下行应该会停止所有线程:
coreContainer.shutdown();
我猜想,CoreContainer
正在启动一个线程池来接受查询,因此应该告诉启动池的对象停止这些线程,以便JVM上的所有线程都可以正常关闭