Class ResteasyClientBuilderImpl
- java.lang.Object
-
- javax.ws.rs.client.ClientBuilder
-
- org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
-
- org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl
-
- All Implemented Interfaces:
javax.ws.rs.core.Configurable<javax.ws.rs.client.ClientBuilder>
- Direct Known Subclasses:
MpClientBuilderImpl
public class ResteasyClientBuilderImpl extends ResteasyClientBuilder
Abstraction for creating Clients. Allows SSL configuration. Uses Apache Http Client under the covers. If used with other ClientHttpEngines though, all configuration options are ignored.- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
ResteasyClientBuilder.HostnameVerificationPolicy
-
-
Field Summary
-
Fields inherited from class org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
PROPERTY_PROXY_HOST, PROPERTY_PROXY_PORT, PROPERTY_PROXY_SCHEME
-
-
Constructor Summary
Constructors Constructor Description ResteasyClientBuilderImpl()
-
Method Summary
-
-
-
Field Detail
-
truststore
protected KeyStore truststore
-
clientKeyStore
protected KeyStore clientKeyStore
-
clientPrivateKeyPassword
protected String clientPrivateKeyPassword
-
disableTrustManager
protected boolean disableTrustManager
-
policy
protected ResteasyClientBuilder.HostnameVerificationPolicy policy
-
providerFactory
protected ResteasyProviderFactory providerFactory
-
asyncExecutor
protected ExecutorService asyncExecutor
-
scheduledExecutorService
protected ScheduledExecutorService scheduledExecutorService
-
cleanupExecutor
protected boolean cleanupExecutor
-
sslContext
protected SSLContext sslContext
-
httpEngine
protected ClientHttpEngine httpEngine
-
connectionPoolSize
protected int connectionPoolSize
-
maxPooledPerRoute
protected int maxPooledPerRoute
-
connectionTTL
protected long connectionTTL
-
connectionTTLUnit
protected TimeUnit connectionTTLUnit
-
socketTimeout
protected long socketTimeout
-
socketTimeoutUnits
protected TimeUnit socketTimeoutUnits
-
establishConnectionTimeout
protected long establishConnectionTimeout
-
establishConnectionTimeoutUnits
protected TimeUnit establishConnectionTimeoutUnits
-
connectionCheckoutTimeoutMs
protected int connectionCheckoutTimeoutMs
-
verifier
protected HostnameVerifier verifier
-
defaultProxy
protected org.apache.http.HttpHost defaultProxy
-
responseBufferSize
protected int responseBufferSize
-
trustSelfSignedCertificates
protected boolean trustSelfSignedCertificates
-
cookieManagementEnabled
protected boolean cookieManagementEnabled
-
disableAutomaticRetries
protected boolean disableAutomaticRetries
-
followRedirects
protected boolean followRedirects
-
-
Method Detail
-
setProviderFactory
public static void setProviderFactory(ResteasyProviderFactory providerFactory)
-
providerFactory
public ResteasyClientBuilderImpl providerFactory(ResteasyProviderFactory providerFactory)
Changing the providerFactory will wipe clean any registered components or properties.- Specified by:
providerFactory
in classResteasyClientBuilder
- Parameters:
providerFactory
- provider factory- Returns:
- the updated client builder instance
-
asyncExecutor
@Deprecated public ResteasyClientBuilderImpl asyncExecutor(ExecutorService asyncExecutor)
Deprecated.useexecutorService(ExecutorService)
insteadExecutor to use to run AsyncInvoker invocations.- Parameters:
asyncExecutor
- executor service- Returns:
- the updated client builder instance
-
asyncExecutor
@Deprecated public ResteasyClientBuilderImpl asyncExecutor(ExecutorService asyncExecutor, boolean cleanupExecutor)
Deprecated.Executor to use to run AsyncInvoker invocations.- Parameters:
asyncExecutor
- executor servicecleanupExecutor
- true if the Client should close the executor when it is closed- Returns:
- the updated client builder instance
-
connectionTTL
public ResteasyClientBuilderImpl connectionTTL(long ttl, TimeUnit unit)
If there is a connection pool, set the time to live in the pool.- Specified by:
connectionTTL
in classResteasyClientBuilder
- Parameters:
ttl
- time to liveunit
- the time unit of the ttl argument- Returns:
- the updated client builder instance
-
readTimeout
public ResteasyClientBuilderImpl readTimeout(long timeout, TimeUnit unit)
- Specified by:
readTimeout
in classResteasyClientBuilder
-
connectTimeout
public ResteasyClientBuilderImpl connectTimeout(long timeout, TimeUnit unit)
- Specified by:
connectTimeout
in classResteasyClientBuilder
-
maxPooledPerRoute
public ResteasyClientBuilderImpl maxPooledPerRoute(int maxPooledPerRoute)
If connection pooling enabled, how many connections to pool per url?- Specified by:
maxPooledPerRoute
in classResteasyClientBuilder
- Parameters:
maxPooledPerRoute
- max pool size per url- Returns:
- the updated client builder instance
-
connectionCheckoutTimeout
public ResteasyClientBuilderImpl connectionCheckoutTimeout(long timeout, TimeUnit unit)
If connection pooling is enabled, how long will we wait to get a connection?- Specified by:
connectionCheckoutTimeout
in classResteasyClientBuilder
- Parameters:
timeout
- the timeoutunit
- the units the timeout is in- Returns:
- the updated client builder instance
-
connectionPoolSize
public ResteasyClientBuilderImpl connectionPoolSize(int connectionPoolSize)
Number of connections allowed to pool.- Specified by:
connectionPoolSize
in classResteasyClientBuilder
- Parameters:
connectionPoolSize
- connection pool size- Returns:
- the updated client builder instance
-
responseBufferSize
public ResteasyClientBuilderImpl responseBufferSize(int size)
Response stream is wrapped in a BufferedInputStream. Default is 8192. Value of 0 will not wrap it. Value of -1 will use a SelfExpandingBufferedInputStream.- Specified by:
responseBufferSize
in classResteasyClientBuilder
- Parameters:
size
- response buffer size- Returns:
- the updated client builder instance
-
disableTrustManager
public ResteasyClientBuilderImpl disableTrustManager()
Disable trust management and hostname verification. NOTE this is a security hole, so only set this option if you cannot or do not want to verify the identity of the host you are communicating with.- Specified by:
disableTrustManager
in classResteasyClientBuilder
- Returns:
- the updated client builder instance
-
hostnameVerification
public ResteasyClientBuilderImpl hostnameVerification(ResteasyClientBuilder.HostnameVerificationPolicy policy)
SSL policy used to verify hostnames- Specified by:
hostnameVerification
in classResteasyClientBuilder
- Parameters:
policy
- SSL policy- Returns:
- the updated client builder instance
-
httpEngine
public ResteasyClientBuilderImpl httpEngine(ClientHttpEngine httpEngine)
Negates all ssl and connection specific configuration- Specified by:
httpEngine
in classResteasyClientBuilder
- Parameters:
httpEngine
- http engine- Returns:
- the updated client builder instance
-
useAsyncHttpEngine
public ResteasyClientBuilderImpl useAsyncHttpEngine()
- Specified by:
useAsyncHttpEngine
in classResteasyClientBuilder
-
sslContext
public ResteasyClientBuilderImpl sslContext(SSLContext sslContext)
- Specified by:
sslContext
in classResteasyClientBuilder
-
trustStore
public ResteasyClientBuilderImpl trustStore(KeyStore truststore)
- Specified by:
trustStore
in classResteasyClientBuilder
-
keyStore
public ResteasyClientBuilderImpl keyStore(KeyStore keyStore, String password)
- Specified by:
keyStore
in classResteasyClientBuilder
-
keyStore
public ResteasyClientBuilderImpl keyStore(KeyStore keyStore, char[] password)
- Specified by:
keyStore
in classResteasyClientBuilder
-
property
public ResteasyClientBuilderImpl property(String name, Object value)
-
sniHostNames
public ResteasyClientBuilderImpl sniHostNames(String... sniHostNames)
Adds a TLS/SSL SNI Host Name for authentication.- Specified by:
sniHostNames
in classResteasyClientBuilder
- Parameters:
sniHostNames
- host names- Returns:
- the updated client builder instance
-
defaultProxy
public ResteasyClientBuilderImpl defaultProxy(String hostname)
Specify a default proxy. Default port and schema will be used.- Specified by:
defaultProxy
in classResteasyClientBuilder
- Parameters:
hostname
- host name- Returns:
- the updated client builder instance
-
defaultProxy
public ResteasyClientBuilderImpl defaultProxy(String hostname, int port)
Specify a default proxy host and port. Default schema will be used.- Specified by:
defaultProxy
in classResteasyClientBuilder
- Parameters:
hostname
- host nameport
- port- Returns:
- the updated client builder instance
-
defaultProxy
public ResteasyClientBuilderImpl defaultProxy(String hostname, int port, String scheme)
Specify default proxy.- Specified by:
defaultProxy
in classResteasyClientBuilder
- Parameters:
hostname
- host nameport
- portscheme
- scheme- Returns:
- the updated client builder instance
-
getProviderFactory
public ResteasyProviderFactory getProviderFactory()
- Specified by:
getProviderFactory
in classResteasyClientBuilder
-
build
public ResteasyClient build()
- Specified by:
build
in classResteasyClientBuilder
-
createResteasyClient
protected ResteasyClient createResteasyClient(ClientHttpEngine engine, ExecutorService executor, boolean cleanupExecutor, ScheduledExecutorService scheduledExecutorService, ClientConfiguration config)
-
hostnameVerifier
public ResteasyClientBuilderImpl hostnameVerifier(HostnameVerifier verifier)
- Specified by:
hostnameVerifier
in classResteasyClientBuilder
-
getConfiguration
public javax.ws.rs.core.Configuration getConfiguration()
-
register
public ResteasyClientBuilderImpl register(Class<?> componentClass)
-
register
public ResteasyClientBuilderImpl register(Class<?> componentClass, int priority)
-
register
public ResteasyClientBuilderImpl register(Class<?> componentClass, Class<?>... contracts)
-
register
public ResteasyClientBuilderImpl register(Class<?> componentClass, Map<Class<?>,Integer> contracts)
-
register
public ResteasyClientBuilderImpl register(Object component)
-
register
public ResteasyClientBuilderImpl register(Object component, int priority)
-
register
public ResteasyClientBuilderImpl register(Object component, Class<?>... contracts)
-
register
public ResteasyClientBuilderImpl register(Object component, Map<Class<?>,Integer> contracts)
-
withConfig
public ResteasyClientBuilderImpl withConfig(javax.ws.rs.core.Configuration config)
- Specified by:
withConfig
in classResteasyClientBuilder
-
executorService
public ResteasyClientBuilder executorService(ExecutorService executorService)
- Specified by:
executorService
in classResteasyClientBuilder
-
executorService
public ResteasyClientBuilder executorService(ExecutorService executorService, boolean cleanupExecutor)
- Specified by:
executorService
in classResteasyClientBuilder
-
scheduledExecutorService
public ResteasyClientBuilder scheduledExecutorService(ScheduledExecutorService scheduledExecutorService)
- Specified by:
scheduledExecutorService
in classResteasyClientBuilder
-
getConnectionTTL
public long getConnectionTTL(TimeUnit unit)
- Specified by:
getConnectionTTL
in classResteasyClientBuilder
-
getMaxPooledPerRoute
public int getMaxPooledPerRoute()
- Specified by:
getMaxPooledPerRoute
in classResteasyClientBuilder
-
getConnectionCheckoutTimeout
public long getConnectionCheckoutTimeout(TimeUnit unit)
- Specified by:
getConnectionCheckoutTimeout
in classResteasyClientBuilder
-
getConnectionPoolSize
public int getConnectionPoolSize()
- Specified by:
getConnectionPoolSize
in classResteasyClientBuilder
-
getResponseBufferSize
public int getResponseBufferSize()
- Specified by:
getResponseBufferSize
in classResteasyClientBuilder
-
isTrustManagerDisabled
public boolean isTrustManagerDisabled()
- Specified by:
isTrustManagerDisabled
in classResteasyClientBuilder
-
isTrustSelfSignedCertificates
public boolean isTrustSelfSignedCertificates()
- Specified by:
isTrustSelfSignedCertificates
in classResteasyClientBuilder
-
setIsTrustSelfSignedCertificates
public void setIsTrustSelfSignedCertificates(boolean b)
Description copied from class:ResteasyClientBuilder
When the user is not using a TrustManager (see disableTrustManager) and does not define an SSLContext object but they want all defined trustStores to use the TrustSelfSignedCertificates trust strategy set this value to true.- Specified by:
setIsTrustSelfSignedCertificates
in classResteasyClientBuilder
- Parameters:
b
- A value of true assigns trust strategy TrustSelfSignedCertificates to the trustStores. A value of false assigns a null to the trust strategy. The default value is true in order to maintain backward compatibility.
-
getHostnameVerification
public ResteasyClientBuilder.HostnameVerificationPolicy getHostnameVerification()
- Specified by:
getHostnameVerification
in classResteasyClientBuilder
-
getHttpEngine
public ClientHttpEngine getHttpEngine()
- Specified by:
getHttpEngine
in classResteasyClientBuilder
-
isUseAsyncHttpEngine
public boolean isUseAsyncHttpEngine()
- Specified by:
isUseAsyncHttpEngine
in classResteasyClientBuilder
-
getSniHostNames
public List<String> getSniHostNames()
- Specified by:
getSniHostNames
in classResteasyClientBuilder
-
getDefaultProxyHostname
public String getDefaultProxyHostname()
- Specified by:
getDefaultProxyHostname
in classResteasyClientBuilder
-
getDefaultProxyPort
public int getDefaultProxyPort()
- Specified by:
getDefaultProxyPort
in classResteasyClientBuilder
-
getDefaultProxyScheme
public String getDefaultProxyScheme()
- Specified by:
getDefaultProxyScheme
in classResteasyClientBuilder
-
getReadTimeout
public long getReadTimeout(TimeUnit unit)
- Specified by:
getReadTimeout
in classResteasyClientBuilder
-
getConnectionTimeout
public long getConnectionTimeout(TimeUnit unit)
- Specified by:
getConnectionTimeout
in classResteasyClientBuilder
-
getSSLContext
public SSLContext getSSLContext()
- Specified by:
getSSLContext
in classResteasyClientBuilder
-
getKeyStore
public KeyStore getKeyStore()
- Specified by:
getKeyStore
in classResteasyClientBuilder
-
getKeyStorePassword
public String getKeyStorePassword()
- Specified by:
getKeyStorePassword
in classResteasyClientBuilder
-
getTrustStore
public KeyStore getTrustStore()
- Specified by:
getTrustStore
in classResteasyClientBuilder
-
getHostnameVerifier
public HostnameVerifier getHostnameVerifier()
- Specified by:
getHostnameVerifier
in classResteasyClientBuilder
-
enableCookieManagement
public ResteasyClientBuilder enableCookieManagement()
Description copied from class:ResteasyClientBuilder
Enable state (cookie) management.- Specified by:
enableCookieManagement
in classResteasyClientBuilder
- Returns:
- the updated client builder instance
-
isCookieManagementEnabled
public boolean isCookieManagementEnabled()
- Specified by:
isCookieManagementEnabled
in classResteasyClientBuilder
-
disableAutomaticRetries
public ResteasyClientBuilder disableAutomaticRetries()
Description copied from class:ResteasyClientBuilder
boolean, notify apache to disable its automatic retries.- Specified by:
disableAutomaticRetries
in classResteasyClientBuilder
-
isDisableAutomaticRetries
public boolean isDisableAutomaticRetries()
- Specified by:
isDisableAutomaticRetries
in classResteasyClientBuilder
-
setFollowRedirects
public ResteasyClientBuilder setFollowRedirects(boolean followRedirects)
Description copied from class:ResteasyClientBuilder
Follow redirects added for MicroProfile-rest-client but can be used by tradition clients as well.- Specified by:
setFollowRedirects
in classResteasyClientBuilder
- Returns:
-
isFollowRedirects
public boolean isFollowRedirects()
- Specified by:
isFollowRedirects
in classResteasyClientBuilder
-
-