Class ConcurrentUpdateHttp2SolrClient.Builder
- java.lang.Object
-
- org.apache.solr.client.solrj.impl.ConcurrentUpdateHttp2SolrClient.Builder
-
- Enclosing class:
- ConcurrentUpdateHttp2SolrClient
public static class ConcurrentUpdateHttp2SolrClient.Builder extends Object
ConstructsConcurrentUpdateHttp2SolrClient
instances from provided configuration.
-
-
Field Summary
Fields Modifier and Type Field Description protected String
baseSolrUrl
protected Http2SolrClient
client
protected boolean
closeHttp2Client
protected ExecutorService
executorService
protected int
queueSize
protected boolean
streamDeletes
protected int
threadCount
-
Constructor Summary
Constructors Constructor Description Builder(String baseSolrUrl, Http2SolrClient client)
Builder(String baseSolrUrl, Http2SolrClient client, boolean closeHttp2Client)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ConcurrentUpdateHttp2SolrClient.Builder
alwaysStreamDeletes()
Configures created clients to always stream delete requests.ConcurrentUpdateHttp2SolrClient
build()
Create aConcurrentUpdateHttp2SolrClient
based on the provided configuration options.ConcurrentUpdateHttp2SolrClient.Builder
neverStreamDeletes()
Configures created clients to not stream delete requests.ConcurrentUpdateHttp2SolrClient.Builder
setPollQueueTime(int pollQueueTimeMillis)
Deprecated.Please usesetPollQueueTime(long, TimeUnit)
ConcurrentUpdateHttp2SolrClient.Builder
setPollQueueTime(long pollQueueTime, TimeUnit unit)
ConcurrentUpdateHttp2SolrClient.Builder
withExecutorService(ExecutorService executorService)
Provides theExecutorService
for the created client to use when servicing the update-request queue.ConcurrentUpdateHttp2SolrClient.Builder
withQueueSize(int queueSize)
The maximum number of requests buffered by the SolrClient's internal queue before being processed by background threads.ConcurrentUpdateHttp2SolrClient.Builder
withThreadCount(int threadCount)
The maximum number of threads used to emptyConcurrentUpdateHttp2SolrClient
s queue.
-
-
-
Field Detail
-
client
protected Http2SolrClient client
-
baseSolrUrl
protected String baseSolrUrl
-
queueSize
protected int queueSize
-
threadCount
protected int threadCount
-
executorService
protected ExecutorService executorService
-
streamDeletes
protected boolean streamDeletes
-
closeHttp2Client
protected boolean closeHttp2Client
-
-
Constructor Detail
-
Builder
public Builder(String baseSolrUrl, Http2SolrClient client)
-
Builder
public Builder(String baseSolrUrl, Http2SolrClient client, boolean closeHttp2Client)
-
-
Method Detail
-
withQueueSize
public ConcurrentUpdateHttp2SolrClient.Builder withQueueSize(int queueSize)
The maximum number of requests buffered by the SolrClient's internal queue before being processed by background threads.This value should be carefully paired with the number of queue-consumer threads. A queue with a maximum size set too high may require more memory. A queue with a maximum size set too low may suffer decreased throughput as
SolrClient.request(SolrRequest)
calls block waiting to add requests to the queue.If not set, this defaults to 10.
- See Also:
withThreadCount(int)
-
withThreadCount
public ConcurrentUpdateHttp2SolrClient.Builder withThreadCount(int threadCount)
The maximum number of threads used to emptyConcurrentUpdateHttp2SolrClient
s queue.Threads are created when documents are added to the client's internal queue and exit when no updates remain in the queue.
This value should be carefully paired with the maximum queue capacity. A client with too few threads may suffer decreased throughput as the queue fills up and
SolrClient.request(SolrRequest)
calls block waiting to add requests to the queue.
-
withExecutorService
public ConcurrentUpdateHttp2SolrClient.Builder withExecutorService(ExecutorService executorService)
Provides theExecutorService
for the created client to use when servicing the update-request queue.
-
alwaysStreamDeletes
public ConcurrentUpdateHttp2SolrClient.Builder alwaysStreamDeletes()
Configures created clients to always stream delete requests.Streamed deletes are put into the update-queue and executed like any other update request.
-
neverStreamDeletes
public ConcurrentUpdateHttp2SolrClient.Builder neverStreamDeletes()
Configures created clients to not stream delete requests.With this option set when the created ConcurrentUpdateHttp2SolrClient sents a delete request it will first will lock the queue and block until all queued updates have been sent, and then send the delete request.
-
setPollQueueTime
@Deprecated(since="9.2") public ConcurrentUpdateHttp2SolrClient.Builder setPollQueueTime(int pollQueueTimeMillis)
Deprecated.Please usesetPollQueueTime(long, TimeUnit)
- Parameters:
pollQueueTimeMillis
- time for an open connection to wait for updates when the queue is empty.
-
setPollQueueTime
public ConcurrentUpdateHttp2SolrClient.Builder setPollQueueTime(long pollQueueTime, TimeUnit unit)
- Parameters:
pollQueueTime
- time for an open connection to wait for updates when the queue is empty.
-
build
public ConcurrentUpdateHttp2SolrClient build()
Create aConcurrentUpdateHttp2SolrClient
based on the provided configuration options.
-
-