public class WebFluxRequestExecutingMessageHandler extends AbstractHttpRequestExecutingMessageHandler
MessageHandler implementation that executes HTTP requests by delegating
to a Reactive WebClient instance.HttpRequestExecutingMessageHandlerAbstractReplyProducingMessageHandler.RequestHandlerIntegrationManagement.ManagementOverridesmessagingTemplateEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| Constructor and Description |
|---|
WebFluxRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression)
Create a handler that will send requests to the provided URI Expression.
|
WebFluxRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression,
org.springframework.web.reactive.function.client.WebClient webClient)
Create a handler that will send requests to the provided URI using a provided WebClient.
|
WebFluxRequestExecutingMessageHandler(java.lang.String uri)
Create a handler that will send requests to the provided URI.
|
WebFluxRequestExecutingMessageHandler(java.lang.String uri,
org.springframework.web.reactive.function.client.WebClient webClient)
Create a handler that will send requests to the provided URI using a provided WebClient.
|
WebFluxRequestExecutingMessageHandler(java.net.URI uri)
Create a handler that will send requests to the provided URI.
|
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Object |
exchange(java.util.function.Supplier<java.net.URI> uriSupplier,
org.springframework.http.HttpMethod httpMethod,
org.springframework.http.HttpEntity<?> httpRequest,
java.lang.Object expectedResponseType,
org.springframework.messaging.Message<?> requestMessage) |
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
void |
setBodyExtractor(org.springframework.web.reactive.function.BodyExtractor<?,org.springframework.http.client.reactive.ClientHttpResponse> bodyExtractor)
Specify a
BodyExtractor as an alternative to the expectedResponseType
to allow to get low-level access to the received ClientHttpResponse. |
void |
setReplyPayloadToFlux(boolean replyPayloadToFlux)
The boolean flag to identify if the reply payload should be as a
Flux from the response body
or as resolved value from the Mono of the response body. |
doInit, getReply, handleRequestMessage, isExpectReply, mapHeaders, setCharset, setEncodeUri, setExpectedResponseType, setExpectedResponseTypeExpression, setExpectReply, setExtractPayload, setHeaderMapper, setHttpMethod, setHttpMethodExpression, setTransferCookies, setTrustedSpel, setUriVariableExpressions, setUriVariablesExpressiondoInvokeAdvisedRequestHandler, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyaddNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersconfigureMetrics, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getOverrides, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, onComplete, onError, onNext, onSubscribe, registerMetricsCaptor, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabledafterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetComponentNamepublic WebFluxRequestExecutingMessageHandler(java.net.URI uri)
uri - The URI.public WebFluxRequestExecutingMessageHandler(java.lang.String uri)
uri - The URI.public WebFluxRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression)
uriExpression - The URI expression.public WebFluxRequestExecutingMessageHandler(java.lang.String uri,
org.springframework.web.reactive.function.client.WebClient webClient)
uri - The URI.webClient - The WebClient to use.public WebFluxRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression,
org.springframework.web.reactive.function.client.WebClient webClient)
uriExpression - A SpEL Expression that can be resolved against the message object and
BeanFactory.webClient - The WebClient to use.public void setReplyPayloadToFlux(boolean replyPayloadToFlux)
Flux from the response body
or as resolved value from the Mono of the response body.
Defaults to false - simple value is pushed downstream.
Makes sense when expectedResponseType is configured.replyPayloadToFlux - represent reply payload as a Flux or as a value from the Mono.AbstractHttpRequestExecutingMessageHandler.setExpectedResponseType(Class),
AbstractHttpRequestExecutingMessageHandler.setExpectedResponseTypeExpression(Expression)public void setBodyExtractor(org.springframework.web.reactive.function.BodyExtractor<?,org.springframework.http.client.reactive.ClientHttpResponse> bodyExtractor)
BodyExtractor as an alternative to the expectedResponseType
to allow to get low-level access to the received ClientHttpResponse.bodyExtractor - the BodyExtractor to use.AbstractHttpRequestExecutingMessageHandler.setExpectedResponseType(Class),
AbstractHttpRequestExecutingMessageHandler.setExpectedResponseTypeExpression(Expression)public java.lang.String getComponentType()
IntegrationObjectSupportgetComponentType in interface NamedComponentgetComponentType in class AbstractMessageHandlerprotected java.lang.Object exchange(java.util.function.Supplier<java.net.URI> uriSupplier,
org.springframework.http.HttpMethod httpMethod,
org.springframework.http.HttpEntity<?> httpRequest,
java.lang.Object expectedResponseType,
org.springframework.messaging.Message<?> requestMessage)
exchange in class AbstractHttpRequestExecutingMessageHandler