Package io.dropwizard.client
Class JerseyClientBuilder
- java.lang.Object
-
- io.dropwizard.client.JerseyClientBuilder
-
public class JerseyClientBuilder extends Object
A convenience class for buildingClient
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 Summary
Constructors Constructor Description JerseyClientBuilder(com.codahale.metrics.MetricRegistry metricRegistry)
JerseyClientBuilder(Environment environment)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description jakarta.ws.rs.client.Client
build(String name)
Builds theClient
instance.<RX extends jakarta.ws.rs.client.RxInvokerProvider<?>>
jakarta.ws.rs.client.ClientbuildRx(String name, Class<RX> invokerType)
Builds theClient
instance with a custom reactive client provider.protected DropwizardApacheConnector
createDropwizardApacheConnector(ConfiguredCloseableHttpClient configuredClient)
BuildsDropwizardApacheConnector
based on the configured Apache HTTP client asConfiguredCloseableHttpClient
and the chunked encoding configuration set by the user.JerseyClientBuilder
name(String environmentName)
Use the given environment name.void
setApacheHttpClientBuilder(HttpClientBuilder apacheHttpClientBuilder)
JerseyClientBuilder
using(com.codahale.metrics.httpclient5.HttpClientMetricNameStrategy metricNameStrategy)
Use the givenHttpClientMetricNameStrategy
instance.JerseyClientBuilder
using(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Uses the givenObjectMapper
.JerseyClientBuilder
using(JerseyClientConfiguration configuration)
Uses the givenJerseyClientConfiguration
.JerseyClientBuilder
using(Environment environment)
Uses the givenEnvironment
.JerseyClientBuilder
using(jakarta.validation.Validator validator)
Use the givenValidator
instance.JerseyClientBuilder
using(ExecutorService executorService)
Uses the givenExecutorService
.JerseyClientBuilder
using(ExecutorService executorService, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Uses the givenExecutorService
andObjectMapper
.JerseyClientBuilder
using(HostnameVerifier verifier)
Use the givenHostnameVerifier
instance.JerseyClientBuilder
using(org.apache.hc.client5.http.auth.CredentialsStore credentialsStore)
Use the givenCredentialsStore
instance.JerseyClientBuilder
using(org.apache.hc.client5.http.DnsResolver resolver)
Use the givenDnsResolver
instance.JerseyClientBuilder
using(org.apache.hc.client5.http.HttpRequestRetryStrategy httpRequestRetryStrategy)
Uses theHttpRequestRetryStrategy
for handling request retries.JerseyClientBuilder
using(org.apache.hc.client5.http.routing.HttpRoutePlanner routePlanner)
Use the givenHttpRoutePlanner
instance.JerseyClientBuilder
using(org.apache.hc.core5.http.config.Registry<org.apache.hc.client5.http.socket.ConnectionSocketFactory> registry)
Use the givenRegistry
instance of connection socket factories.JerseyClientBuilder
using(org.glassfish.jersey.client.spi.ConnectorProvider connectorProvider)
Use the givenConnectorProvider
instance.JerseyClientBuilder
withProperty(String propertyName, Object propertyValue)
Sets the state of the given Jersey property.JerseyClientBuilder
withProvider(Class<?> klass)
Adds the given class as a Jersey provider.JerseyClientBuilder
withProvider(Object provider)
Adds the given object as a Jersey provider.
-
-
-
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. UseJerseyClientConfiguration
instead.- Parameters:
propertyName
- the name of the Jersey propertypropertyValue
- the state of the Jersey property- Returns:
this
-
using
public JerseyClientBuilder using(JerseyClientConfiguration configuration)
Uses the givenJerseyClientConfiguration
.- Parameters:
configuration
- a configuration object- Returns:
this
-
using
public JerseyClientBuilder using(Environment environment)
Uses the givenEnvironment
.- Parameters:
environment
- a DropwizardEnvironment
- Returns:
this
- See Also:
using(java.util.concurrent.ExecutorService, com.fasterxml.jackson.databind.ObjectMapper)
-
using
public JerseyClientBuilder using(jakarta.validation.Validator validator)
Use the givenValidator
instance.- Parameters:
validator
- aValidator
instance- Returns:
this
-
using
public JerseyClientBuilder using(ExecutorService executorService, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Uses the givenExecutorService
andObjectMapper
.- Parameters:
executorService
- a thread poolobjectMapper
- an object mapper- Returns:
this
- See Also:
using(Environment)
-
using
public JerseyClientBuilder using(ExecutorService executorService)
Uses the givenExecutorService
.- Parameters:
executorService
- a thread pool- Returns:
this
- See Also:
using(Environment)
-
using
public JerseyClientBuilder using(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Uses the givenObjectMapper
.- Parameters:
objectMapper
- an object mapper- Returns:
this
- See Also:
using(Environment)
-
using
public JerseyClientBuilder using(org.glassfish.jersey.client.spi.ConnectorProvider connectorProvider)
Use the givenConnectorProvider
instance. WARNING: Use it with a caution. Most of features will not work in a custom connection provider.- Parameters:
connectorProvider
- aConnectorProvider
instance- Returns:
this
-
using
public JerseyClientBuilder using(org.apache.hc.client5.http.HttpRequestRetryStrategy httpRequestRetryStrategy)
Uses theHttpRequestRetryStrategy
for handling request retries.- Parameters:
httpRequestRetryStrategy
- aHttpRequestRetryStrategy
- Returns:
this
-
using
public JerseyClientBuilder using(org.apache.hc.client5.http.DnsResolver resolver)
Use the givenDnsResolver
instance.- Parameters:
resolver
- aDnsResolver
instance- Returns:
this
-
using
public JerseyClientBuilder using(HostnameVerifier verifier)
Use the givenHostnameVerifier
instance. Note that ifTlsConfiguration.isVerifyHostname()
returns false, all host name verification is bypassed, including host name verification performed by a verifier specified through this interface.- Parameters:
verifier
- aHostnameVerifier
instance- Returns:
this
-
using
public JerseyClientBuilder using(org.apache.hc.core5.http.config.Registry<org.apache.hc.client5.http.socket.ConnectionSocketFactory> registry)
Use the givenRegistry
instance of connection socket factories.- Parameters:
registry
- aRegistry
instance of connection socket factories- Returns:
this
-
using
public JerseyClientBuilder using(com.codahale.metrics.httpclient5.HttpClientMetricNameStrategy metricNameStrategy)
Use the givenHttpClientMetricNameStrategy
instance.- Parameters:
metricNameStrategy
- aHttpClientMetricNameStrategy
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.hc.client5.http.routing.HttpRoutePlanner routePlanner)
Use the givenHttpRoutePlanner
instance.- Parameters:
routePlanner
- aHttpRoutePlanner
instance- Returns:
this
-
using
public JerseyClientBuilder using(org.apache.hc.client5.http.auth.CredentialsStore credentialsStore)
Use the givenCredentialsStore
instance.- Parameters:
credentialsStore
- aCredentialsStore
instance- Returns:
this
-
buildRx
public <RX extends jakarta.ws.rs.client.RxInvokerProvider<?>> jakarta.ws.rs.client.Client buildRx(String name, Class<RX> invokerType)
Builds theClient
instance with a custom reactive client provider.- Returns:
- a fully-configured
Client
-
build
public jakarta.ws.rs.client.Client build(String name)
Builds theClient
instance.- Returns:
- a fully-configured
Client
-
createDropwizardApacheConnector
protected DropwizardApacheConnector createDropwizardApacheConnector(ConfiguredCloseableHttpClient configuredClient)
BuildsDropwizardApacheConnector
based on the configured Apache HTTP client asConfiguredCloseableHttpClient
and the chunked encoding configuration set by the user.
-
-