Class SharedHttpClientSessionManager

java.lang.Object
org.eclipse.rdf4j.http.client.SharedHttpClientSessionManager
All Implemented Interfaces:
HttpClientDependent, HttpClientSessionManager

public class SharedHttpClientSessionManager extends Object implements HttpClientSessionManager, HttpClientDependent
A Manager for HTTP sessions that uses a shared HttpClient to manage HTTP connections.
Author:
James Leigh
  • Field Details

    • CORE_POOL_SIZE_PROPERTY

      public static final String CORE_POOL_SIZE_PROPERTY
      Configurable system property org.eclipse.rdf4j.client.executors.corePoolSize for specifying the background executor core thread pool size.
      See Also:
  • Constructor Details

    • SharedHttpClientSessionManager

      public SharedHttpClientSessionManager()
    • SharedHttpClientSessionManager

      public SharedHttpClientSessionManager(org.apache.http.impl.client.CloseableHttpClient dependentClient, ScheduledExecutorService dependentExecutorService)
  • Method Details

    • getHttpClient

      public org.apache.http.client.HttpClient getHttpClient()
      Description copied from interface: HttpClientDependent
      HttpClient that has been assigned or has been used by this object. The life cycle might not be or might be tied to this object, depending on whether HttpClient was passed to or created by this object respectively.
      Specified by:
      getHttpClient in interface HttpClientDependent
      Specified by:
      getHttpClient in interface HttpClientSessionManager
      Returns:
      Returns the httpClient.
    • setHttpClient

      public void setHttpClient(org.apache.http.client.HttpClient httpClient)
      Description copied from interface: HttpClientDependent
      Assign an HttpClient that this object should use. The life cycle of the given HttpClient is independent of this object. Closing or shutting down this object does not have any impact on the given client. Callers must ensure that the given client is properly closed elsewhere.
      Specified by:
      setHttpClient in interface HttpClientDependent
      Parameters:
      httpClient - The httpClient to use for remote/service calls.
    • setHttpClientBuilder

      public void setHttpClientBuilder(org.apache.http.impl.client.HttpClientBuilder httpClientBuilder)
      Set an optional HttpClientBuilder to create the inner httpClient (if the latter is not provided externally as dependent client).
      Parameters:
      httpClientBuilder - the builder for the managed HttpClient
      See Also:
    • createSPARQLProtocolSession

      public SPARQLProtocolSession createSPARQLProtocolSession(String queryEndpointUrl, String updateEndpointUrl)
      Description copied from interface: HttpClientSessionManager
      Creates a new SPARQL Protocol session to the remote SPARQL endpoint.
      Specified by:
      createSPARQLProtocolSession in interface HttpClientSessionManager
    • createRDF4JProtocolSession

      public RDF4JProtocolSession createRDF4JProtocolSession(String serverURL)
      Description copied from interface: HttpClientSessionManager
      Creates a new session to the remote RDF4J REST API.
      Specified by:
      createRDF4JProtocolSession in interface HttpClientSessionManager
    • shutDown

      public void shutDown()
      Description copied from interface: HttpClientSessionManager
      Closes any remaining connections and threads used by the sessions created by this object.
      Specified by:
      shutDown in interface HttpClientSessionManager
    • initialize

      @Deprecated public void initialize()
      Deprecated.
      Create a new instance instead of trying to reactivate an old instance.
      No-op
    • getExecutorService

      protected final ExecutorService getExecutorService()
      Get the ExecutorService used by this session manager.
      Returns:
      a ExecutorService used by all SPARQLProtocolSession and RDF4JProtocolSession instances created by this session manager.