public class WebFluxRequestExecutingMessageHandler
extends org.springframework.integration.http.outbound.AbstractHttpRequestExecutingMessageHandler
MessageHandler implementation that executes
HTTP requests by delegating to a Reactive WebClient instance.HttpRequestExecutingMessageHandler,
WebClienturiFactorymessagingTemplateEXPRESSION_PARSER, logger| 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.lang.Object uri,
org.springframework.http.HttpMethod httpMethod,
org.springframework.http.HttpEntity<?> httpRequest,
java.lang.Object expectedResponseType,
org.springframework.messaging.Message<?> requestMessage,
java.util.Map<java.lang.String,?> uriVariables) |
java.lang.String |
getComponentType() |
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 |
setEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode encodingMode) |
void |
setPublisherElementType(java.lang.Class<?> publisherElementType)
Configure a type for a request
Publisher elements. |
void |
setPublisherElementTypeExpression(org.springframework.expression.Expression publisherElementTypeExpression)
Configure a SpEL expression to evaluate a request
Publisher elements type at runtime against
a request message. |
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, evaluateTypeFromExpression, getIntegrationPatternType, getReply, handleRequestMessage, isExpectReply, mapHeaders, setCharset, setEncodeUri, setExpectedResponseType, setExpectedResponseTypeExpression, setExpectReply, setExtractPayload, setHeaderMapper, setHttpMethod, setHttpMethodExpression, setTransferCookies, setTrustedSpel, setUriVariableExpressions, setUriVariablesExpressiondoInvokeAdvisedRequestHandler, getBeanClassLoader, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyaddNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadershandleMessage, onComplete, onError, onNext, onSubscribebuildSendTimer, configureMetrics, destroy, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getHandlerMetrics, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMetricsCaptor, getMinDuration, getOrder, getOverrides, getStandardDeviationDuration, isCountsEnabled, isLoggingEnabled, isStatsEnabled, registerMetricsCaptor, reset, sendTimer, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled, shouldTrackafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic 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,
@Nullable
org.springframework.web.reactive.function.client.WebClient webClient)
uri - The URI.webClient - The WebClient to use.public WebFluxRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression,
@Nullable
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 setEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode encodingMode)
setEncodingMode in class org.springframework.integration.http.outbound.AbstractHttpRequestExecutingMessageHandlerpublic 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 void setPublisherElementType(java.lang.Class<?> publisherElementType)
Publisher elements.publisherElementType - the type of the request Publisher elements.BodyInserters.fromPublisher(Publisher, Class)public void setPublisherElementTypeExpression(org.springframework.expression.Expression publisherElementTypeExpression)
Publisher elements type at runtime against
a request message.publisherElementTypeExpression - the expression to evaluate a type for the request
Publisher elements.BodyInserters.fromPublisher(Publisher, Class),
BodyInserters.fromPublisher(Publisher, ParameterizedTypeReference)public java.lang.String getComponentType()
getComponentType in interface org.springframework.integration.support.context.NamedComponentgetComponentType in class org.springframework.integration.handler.MessageHandlerSupport@Nullable
protected java.lang.Object exchange(java.lang.Object uri,
org.springframework.http.HttpMethod httpMethod,
org.springframework.http.HttpEntity<?> httpRequest,
java.lang.Object expectedResponseType,
org.springframework.messaging.Message<?> requestMessage,
java.util.Map<java.lang.String,?> uriVariables)
exchange in class org.springframework.integration.http.outbound.AbstractHttpRequestExecutingMessageHandler