如何在Spring Data Solr中关闭SolrTemplate

问题描述 投票:0回答:1

我已经使用CommandLineRunner界面编写了一个Spring Boot控制台应用程序(版本2.2.4。Spring-data-solr版本4.1.4)。我已经连接了启动SolrTemplate连接的服务。我用它来对Solr索引运行一些查询,然后要关闭该应用程序。

当我调试应用程序时,我可以逐步浏览整个应用程序,但是当应用程序离开main()时,它将挂起。我认为SolrTemplate正在等待另一个查询。有没有办法关闭SolrTemplate?

@Configuration
@EnableSolrRepositories(basePackages = { "org.ihc.hdd.serviceExample.facet.repository" })
public class SolrConfig {

    @Value("${spring.data.solr.zk-host}")
    private String zkHost;

    @Bean
    public SolrTemplate solrTemplate() throws Exception {
        String[] zkHosts = this.zkHost.split(",");

        CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Arrays.asList(zkHosts), Optional.empty()).build();
        return new SolrTemplate(cloudSolrClient);
    }

}
java solr solrj spring-data-solr
1个回答
0
投票

如何像这样创建SolrClient Bean:

 @Bean
 protected static SolrClient getSolrClient() {
      String[] zkHosts = this.zkHost.split(",");
     CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Arrays.asList(zkHosts), Optional.empty()).build();

     return new CloudSolrClient(zkHostString);
 }

并将其作为参数传递给SolrTemplate,例如:

@ Bean公共SolrTemplate solrTemplate(CloudSolrClient cloudSolrClient)引发异常{返回新的SolrTemplate(cloudSolrClient);}

© www.soinside.com 2019 - 2024. All rights reserved.