Class JerseyClientBuilder


  • public class JerseyClientBuilder
    extends Object
    A convenience class for building Client instances.

    Among other things,

    • Backed by Apache HttpClient
    • Disables stale connection checks
    • Disables Nagle's algorithm
    • Disables cookie management by default
    • Compress requests and decompress responses using GZIP
    • Supports parsing and generating JSON data using Jackson

    See Also:
    HttpClientBuilder
    • Constructor Detail

      • JerseyClientBuilder

        public JerseyClientBuilder​(Environment environment)
      • JerseyClientBuilder

        public JerseyClientBuilder​(com.codahale.metrics.MetricRegistry metricRegistry)
    • Method Detail

      • setApacheHttpClientBuilder

        public void setApacheHttpClientBuilder​(HttpClientBuilder apacheHttpClientBuilder)
      • withProvider

        public JerseyClientBuilder withProvider​(Object provider)
        Adds the given object as a Jersey provider.
        Parameters:
        provider - a Jersey provider
        Returns:
        this
      • withProvider

        public JerseyClientBuilder withProvider​(Class<?> klass)
        Adds the given class as a Jersey provider.

        N.B.: This class must either have a no-args constructor or use Jersey's built-in dependency injection.

        Parameters:
        klass - a Jersey provider class
        Returns:
        this
      • withProperty

        public JerseyClientBuilder withProperty​(String propertyName,
                                                Object propertyValue)
        Sets the state of the given Jersey property.

        WARNING: The default connector ignores Jersey properties. Use JerseyClientConfiguration instead.

        Parameters:
        propertyName - the name of the Jersey property
        propertyValue - the state of the Jersey property
        Returns:
        this
      • using

        public JerseyClientBuilder using​(javax.validation.Validator validator)
        Use the given Validator instance.
        Parameters:
        validator - a Validator instance
        Returns:
        this
      • using

        public JerseyClientBuilder using​(org.glassfish.jersey.client.spi.ConnectorProvider connectorProvider)
        Use the given ConnectorProvider instance.

        WARNING: Use it with a caution. Most of features will not work in a custom connection provider.

        Parameters:
        connectorProvider - a ConnectorProvider instance
        Returns:
        this
      • using

        public JerseyClientBuilder using​(org.apache.http.client.HttpRequestRetryHandler httpRequestRetryHandler)
        Uses the HttpRequestRetryHandler for handling request retries.
        Parameters:
        httpRequestRetryHandler - a HttpRequestRetryHandler
        Returns:
        this
      • using

        public JerseyClientBuilder using​(org.apache.http.conn.DnsResolver resolver)
        Use the given DnsResolver instance.
        Parameters:
        resolver - a DnsResolver instance
        Returns:
        this
      • using

        public JerseyClientBuilder using​(org.apache.http.config.Registry<org.apache.http.conn.socket.ConnectionSocketFactory> registry)
        Use the given Registry instance of connection socket factories.
        Parameters:
        registry - a Registry instance of connection socket factories
        Returns:
        this
      • using

        public JerseyClientBuilder using​(com.codahale.metrics.httpclient.HttpClientMetricNameStrategy metricNameStrategy)
        Use the given HttpClientMetricNameStrategy instance.
        Parameters:
        metricNameStrategy - a HttpClientMetricNameStrategy instance
        Returns:
        this
      • name

        public JerseyClientBuilder name​(String environmentName)
        Use the given environment name. This is used in the user agent.
        Parameters:
        environmentName - an environment name to use in the user agent.
        Returns:
        this
      • using

        public JerseyClientBuilder using​(org.apache.http.conn.routing.HttpRoutePlanner routePlanner)
        Use the given HttpRoutePlanner instance.
        Parameters:
        routePlanner - a HttpRoutePlanner instance
        Returns:
        this
      • using

        public JerseyClientBuilder using​(org.apache.http.client.CredentialsProvider credentialsProvider)
        Use the given CredentialsProvider instance.
        Parameters:
        credentialsProvider - a CredentialsProvider instance
        Returns:
        this
      • using

        public JerseyClientBuilder using​(org.apache.http.client.ServiceUnavailableRetryStrategy serviceUnavailableRetryStrategy)
        Use the given ServiceUnavailableRetryStrategy instance.
        Parameters:
        serviceUnavailableRetryStrategy - a ServiceUnavailableRetryStrategy instance
        Returns:
        this
      • buildRx

        public <RX extends javax.ws.rs.client.RxInvokerProvider<?>> javax.ws.rs.client.Client buildRx​(String name,
                                                                                                      Class<RX> invokerType)
        Builds the Client instance with a custom reactive client provider.
        Returns:
        a fully-configured Client
      • build

        public javax.ws.rs.client.Client build​(String name)
        Builds the Client instance.
        Returns:
        a fully-configured Client