Class SolrClientCache

java.lang.Object
org.apache.solr.client.solrj.io.SolrClientCache
All Implemented Interfaces:
Closeable, AutoCloseable

public class SolrClientCache extends Object implements Closeable
The SolrClientCache caches SolrClients, so they can be reused by different TupleStreams.
  • Constructor Details

    • SolrClientCache

      public SolrClientCache()
    • SolrClientCache

      @Deprecated(since="9.0") public SolrClientCache(org.apache.http.client.HttpClient apacheHttpClient)
      Deprecated.
    • SolrClientCache

      public SolrClientCache(org.apache.solr.client.solrj.impl.Http2SolrClient http2SolrClient)
  • Method Details

    • setZkHostValidator

      public void setZkHostValidator(Consumer<String> zkHostValidator)
      Installs a ZooKeeper host validator that getCloudSolrClient(String) consults on every call, before any ZK contact. The validator rejects a zkHost by throwing, typically a 403 Forbidden SolrException. A null validator disables validation.

      The validator is invoked while holding the cache monitor, so it must be non-blocking and must not perform I/O.

    • validateZkHost

      public void validateZkHost(String zkHost)
      Throws if the installed validator rejects the zkHost.
    • zkHostRejectionMessage

      public static String zkHostRejectionMessage(String connectionString)
      Message for a rejected ZooKeeper connection string.
    • setDefaultZKHost

      public void setDefaultZKHost(String zkHost)
    • getCloudSolrClient

      public org.apache.solr.client.solrj.impl.CloudSolrClient getCloudSolrClient(String zkHost)
    • getHttpSolrClient

      public org.apache.solr.client.solrj.SolrClient getHttpSolrClient(String baseUrl)
      Create (and cache) a SolrClient based around the provided URL
      Parameters:
      baseUrl - a Solr URL. May either be a "base" URL (i.e. ending in "/solr"), or point to a particular collection or core.
      Returns:
      a SolrClient configured to use the provided URL. The cache retains a reference to the returned client, and will close it when callers invoke close()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable