public class ApacheConnectorProvider extends Object implements ConnectorProvider
connectors that utilize
Apache HTTP Client to send and receive HTTP request and responses.
The following connector configuration properties are supported:
ApacheClientProperties.CONNECTION_CLOSING_STRATEGYApacheClientProperties.CONNECTION_MANAGERApacheClientProperties.CONNECTION_MANAGER_SHAREDApacheClientProperties.CONNECTION_CLOSING_STRATEGYApacheClientProperties.CREDENTIALS_PROVIDERApacheClientProperties.DISABLE_COOKIESApacheClientProperties.KEEPALIVE_STRATEGYApacheClientProperties.PREEMPTIVE_BASIC_AUTHENTICATIONClientProperties.PROXY_URIClientProperties.PROXY_USERNAMEClientProperties.PROXY_PASSWORDClientProperties.REQUEST_ENTITY_PROCESSING
- default value is RequestEntityProcessing.CHUNKEDApacheClientProperties.REQUEST_CONFIGApacheClientProperties.RETRY_HANDLERApacheClientProperties.REUSE_STRATEGYApacheClientProperties.USE_SYSTEM_PROPERTIES
Connector instances created via this connector provider use
chunked encoding as a default setting.
This can be overridden by the ClientProperties.REQUEST_ENTITY_PROCESSING.
By default the ClientProperties.CHUNKED_ENCODING_SIZE property is only supported
when using the default org.apache.http.conn.HttpClientConnectionManager instance. If custom
connection manager is used, then chunked encoding size can be set by providing a custom
org.apache.http.HttpClientConnection (via custom org.apache.http.impl.conn.ManagedHttpClientConnectionFactory)
and overriding it's createOutputStream method.
Use of authorization by the AHC-based connectors is dependent on the chunk encoding setting.
If the entity buffering is enabled, the entity is buffered and authorization can be performed
automatically in response to a 401 by sending the request again. When entity buffering
is disabled (chunked encoding is used) then the property
ApacheClientProperties.PREEMPTIVE_BASIC_AUTHENTICATION must
be set to true.
If a ClientResponse is obtained and an entity is not read from the response then
InboundMessageContext.close() MUST be called after processing the response to release
connection-based resources.
Registration of ApacheHttpClientBuilderConfigurator instance on the
Client is supported. A configuration provided by
ApacheHttpClientBuilderConfigurator will override the HttpClientBuilder
configuration set by using the properties.
If a response entity is obtained that is an instance of Closeable
then the instance MUST be closed after processing the entity to release
connection-based resources.
The following methods are currently supported: HEAD, GET, POST, PUT, DELETE, OPTIONS, PATCH and TRACE.
| Constructor and Description |
|---|
ApacheConnectorProvider() |
| Modifier and Type | Method and Description |
|---|---|
Connector |
getConnector(jakarta.ws.rs.client.Client client,
jakarta.ws.rs.core.Configuration runtimeConfig) |
static org.apache.http.client.CookieStore |
getCookieStore(jakarta.ws.rs.core.Configurable<?> component)
Retrieve the underlying Apache
CookieStore instance from
JerseyClient or JerseyWebTarget
configured to use ApacheConnectorProvider. |
static org.apache.http.client.HttpClient |
getHttpClient(jakarta.ws.rs.core.Configurable<?> component)
Retrieve the underlying Apache
HttpClient instance from
JerseyClient or JerseyWebTarget
configured to use ApacheConnectorProvider. |
public Connector getConnector(jakarta.ws.rs.client.Client client, jakarta.ws.rs.core.Configuration runtimeConfig)
getConnector in interface ConnectorProviderpublic static org.apache.http.client.HttpClient getHttpClient(jakarta.ws.rs.core.Configurable<?> component)
HttpClient instance from
JerseyClient or JerseyWebTarget
configured to use ApacheConnectorProvider.component - JerseyClient or JerseyWebTarget instance that is configured to use
ApacheConnectorProvider.HttpClient instance.IllegalArgumentException - in case the component is neither JerseyClient
nor JerseyWebTarget instance or in case the component
is not configured to use a ApacheConnectorProvider.public static org.apache.http.client.CookieStore getCookieStore(jakarta.ws.rs.core.Configurable<?> component)
CookieStore instance from
JerseyClient or JerseyWebTarget
configured to use ApacheConnectorProvider.component - JerseyClient or JerseyWebTarget instance that is configured to use
ApacheConnectorProvider.CookieStore instance.IllegalArgumentException - in case the component is neither JerseyClient
nor JerseyWebTarget instance or in case the component
is not configured to use a ApacheConnectorProvider.Copyright © 2007-2021, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.