Top Description Fields Constructors Methods
org.springframework.http.client

public Class JdkClientHttpRequestFactory

extends Object
implements ClientHttpRequestFactory
Class Inheritance
All Implemented Interfaces
org.springframework.http.client.ClientHttpRequestFactory
Imports
java.io.IOException, java.net.URI, java.net.http.HttpClient, java.time.Duration, java.util.concurrent.Executor, org.springframework.core.task.SimpleAsyncTaskExecutor, org.springframework.http.HttpMethod, org.springframework.lang.Nullable, org.springframework.util.Assert

ClientHttpRequestFactory implementation based on the Java HttpClient.
Authors
Marten Deinum, Arjen Poutsma
Since
6.1

Field Summary

Modifier and TypeField and Description
private final Executor
private final java.net.http.HttpClient
private Duration

Constructor Summary

AccessConstructor and Description
public
JdkClientHttpRequestFactory()

Create a new instance of the JdkClientHttpRequestFactory with a default HttpClient.

public
JdkClientHttpRequestFactory(java.net.http.HttpClient
the client to base on
httpClient
)

Create a new instance of the JdkClientHttpRequestFactory based on the given HttpClient.

public
JdkClientHttpRequestFactory(java.net.http.HttpClient
the client to base on
httpClient
,
Executor
the executor to use for blocking write operations
executor
)

Create a new instance of the JdkClientHttpRequestFactory based on the given HttpClient and Executor.

Method Summary

Modifier and TypeMethod and Description
public ClientHttpRequest
createRequest(URI
the URI to create a request for
uri
,
HttpMethod
the HTTP method to execute
httpMethod
)

Implements org.springframework.http.client.ClientHttpRequestFactory.createRequest.

Create a new ClientHttpRequest for the specified URI and HTTP method.
public void
setReadTimeout(int readTimeout)

Set the underlying HttpClient's read timeout (in milliseconds).

public void
setReadTimeout(Duration readTimeout)

Set the underlying HttpClient's read timeout as a Duration.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

executorback to summary
private final Executor executor
httpClientback to summary
private final java.net.http.HttpClient httpClient
readTimeoutback to summary
private Duration readTimeout
Annotations
@Nullable

Constructor Detail

JdkClientHttpRequestFactoryback to summary
public JdkClientHttpRequestFactory()

Create a new instance of the JdkClientHttpRequestFactory with a default HttpClient.

JdkClientHttpRequestFactoryback to summary
public JdkClientHttpRequestFactory(java.net.http.HttpClient httpClient)

Create a new instance of the JdkClientHttpRequestFactory based on the given HttpClient.

Parameters
httpClient:java.net.http.HttpClient

the client to base on

JdkClientHttpRequestFactoryback to summary
public JdkClientHttpRequestFactory(java.net.http.HttpClient httpClient, Executor executor)

Create a new instance of the JdkClientHttpRequestFactory based on the given HttpClient and Executor.

Parameters
httpClient:java.net.http.HttpClient

the client to base on

executor:Executor

the executor to use for blocking write operations

Method Detail

createRequestback to summary
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IOException

Implements org.springframework.http.client.ClientHttpRequestFactory.createRequest.

Doc from org.springframework.http.client.ClientHttpRequestFactory.createRequest.

Create a new ClientHttpRequest for the specified URI and HTTP method.

The returned request can be written to, and then executed by calling ClientHttpRequest#execute().

Parameters
uri:URI

the URI to create a request for

httpMethod:HttpMethod

the HTTP method to execute

Returns:ClientHttpRequest

the created request

Annotations
@Override
Exceptions
IOException:
in case of I/O errors
setReadTimeoutback to summary
public void setReadTimeout(int readTimeout)

Set the underlying HttpClient's read timeout (in milliseconds). A timeout value of 0 specifies an infinite timeout.

Default is the system's default timeout.

See Also
java.net.http.HttpRequest.Builder#timeout
setReadTimeoutback to summary
public void setReadTimeout(Duration readTimeout)

Set the underlying HttpClient's read timeout as a Duration.

Default is the system's default timeout.

See Also
java.net.http.HttpRequest.Builder#timeout