public class Netty4ClientHttpRequestFactory extends java.lang.Object implements ClientHttpRequestFactory, AsyncClientHttpRequestFactory, InitializingBean, DisposableBean
ClientHttpRequestFactory
implementation that
uses Netty 4 to create requests.
Allows to use a pre-configured EventLoopGroup
instance - useful for sharing
across multiple clients.
Modifier and Type | Field and Description |
---|---|
private Bootstrap |
bootstrap |
static int |
DEFAULT_MAX_REQUEST_SIZE
Deprecated.
|
static int |
DEFAULT_MAX_RESPONSE_SIZE
The default maximum response size.
|
private boolean |
defaultEventLoopGroup |
private EventLoopGroup |
eventLoopGroup |
private int |
maxRequestSize |
private int |
maxResponseSize |
private SslContext |
sslContext |
Constructor and Description |
---|
Netty4ClientHttpRequestFactory()
Create a new
Netty4ClientHttpRequestFactory with a default
NioEventLoopGroup . |
Netty4ClientHttpRequestFactory(EventLoopGroup eventLoopGroup)
Create a new
Netty4ClientHttpRequestFactory with the given
EventLoopGroup . |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Invoked by a BeanFactory after it has set all bean properties supplied
(and satisfied BeanFactoryAware and ApplicationContextAware).
|
AsyncClientHttpRequest |
createAsyncRequest(java.net.URI uri,
HttpMethod httpMethod)
Create a new asynchronous
AsyncClientHttpRequest for the specified URI
and HTTP method. |
ClientHttpRequest |
createRequest(java.net.URI uri,
HttpMethod httpMethod)
Create a new
ClientHttpRequest for the specified URI and HTTP method. |
private Netty4ClientHttpRequest |
createRequestInternal(java.net.URI uri,
HttpMethod httpMethod) |
void |
destroy()
Invoked by a BeanFactory on destruction of a singleton.
|
private Bootstrap |
getBootstrap() |
void |
setMaxRequestSize(int maxRequestSize)
Deprecated.
as of 4.1.5 this property is no longer supported;
effectively renamed to
setMaxResponseSize(int) . |
void |
setMaxResponseSize(int maxResponseSize)
Set the default maximum response size.
|
void |
setSslContext(SslContext sslContext)
Set the SSL context.
|
@Deprecated public static final int DEFAULT_MAX_REQUEST_SIZE
setMaxRequestSize(int)
,
Constant Field Valuespublic static final int DEFAULT_MAX_RESPONSE_SIZE
setMaxResponseSize(int)
,
Constant Field Valuesprivate final EventLoopGroup eventLoopGroup
private final boolean defaultEventLoopGroup
private int maxRequestSize
private int maxResponseSize
private SslContext sslContext
private volatile Bootstrap bootstrap
public Netty4ClientHttpRequestFactory()
Netty4ClientHttpRequestFactory
with a default
NioEventLoopGroup
.public Netty4ClientHttpRequestFactory(EventLoopGroup eventLoopGroup)
Netty4ClientHttpRequestFactory
with the given
EventLoopGroup
.
NOTE: the given group will not be shutdown by this factory; doing so becomes the responsibility of the caller.
@Deprecated public void setMaxRequestSize(int maxRequestSize)
setMaxResponseSize(int)
.By default this is set to DEFAULT_MAX_REQUEST_SIZE
.
HttpObjectAggregator#HttpObjectAggregator(int)
public void setMaxResponseSize(int maxResponseSize)
By default this is set to DEFAULT_MAX_RESPONSE_SIZE
.
HttpObjectAggregator#HttpObjectAggregator(int)
public void setSslContext(SslContext sslContext)
io.netty.handler.ssl.SslHandler
in the channel pipeline.
By default this is not set.
private Bootstrap getBootstrap()
public void afterPropertiesSet()
InitializingBean
This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.
afterPropertiesSet
in interface InitializingBean
public ClientHttpRequest createRequest(java.net.URI uri, HttpMethod httpMethod) throws java.io.IOException
ClientHttpRequestFactory
ClientHttpRequest
for the specified URI and HTTP method.
The returned request can be written to, and then executed by calling
ClientHttpRequest.execute()
.
createRequest
in interface ClientHttpRequestFactory
uri
- the URI to create a request forhttpMethod
- the HTTP method to executejava.io.IOException
- in case of I/O errorspublic AsyncClientHttpRequest createAsyncRequest(java.net.URI uri, HttpMethod httpMethod) throws java.io.IOException
AsyncClientHttpRequestFactory
AsyncClientHttpRequest
for the specified URI
and HTTP method.
The returned request can be written to, and then executed by calling
AsyncClientHttpRequest.executeAsync()
.
createAsyncRequest
in interface AsyncClientHttpRequestFactory
uri
- the URI to create a request forhttpMethod
- the HTTP method to executejava.io.IOException
- in case of I/O errorsprivate Netty4ClientHttpRequest createRequestInternal(java.net.URI uri, HttpMethod httpMethod)
public void destroy() throws java.lang.InterruptedException
DisposableBean
destroy
in interface DisposableBean
java.lang.InterruptedException