public abstract class AbstractHttpRequestExecutingMessageHandler
extends org.springframework.integration.handler.AbstractReplyProducingMessageHandler
| Modifier and Type | Field and Description |
|---|---|
protected org.springframework.web.util.DefaultUriBuilderFactory |
uriFactory |
messagingTemplateEXPRESSION_PARSER, logger| Constructor and Description |
|---|
AbstractHttpRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doInit() |
protected java.lang.Object |
evaluateTypeFromExpression(org.springframework.messaging.Message<?> requestMessage,
org.springframework.expression.Expression expression,
java.lang.String property) |
protected abstract 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) |
org.springframework.integration.IntegrationPatternType |
getIntegrationPatternType() |
protected java.lang.Object |
getReply(org.springframework.http.ResponseEntity<?> httpResponse) |
protected java.lang.Object |
handleRequestMessage(org.springframework.messaging.Message<?> requestMessage) |
boolean |
isExpectReply() |
protected org.springframework.http.HttpHeaders |
mapHeaders(org.springframework.messaging.Message<?> message) |
void |
setCharset(java.lang.String charset)
Specify the charset name to use for converting String-typed payloads to bytes.
|
void |
setEncodeUri(boolean encodeUri)
Deprecated.
since 5.3 in favor of
setEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode) |
void |
setEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode encodingMode)
Set the encoding mode to use.
|
void |
setExpectedResponseType(java.lang.Class<?> expectedResponseType)
Specify the expected response type for the REST request
otherwise the default response type is
ResponseEntity and will
be returned as a payload of the reply Message. |
void |
setExpectedResponseTypeExpression(org.springframework.expression.Expression expectedResponseTypeExpression)
Specify the
Expression to determine the type for the expected response
The returned value of the expression could be an instance of Class or
String representing a fully qualified class name. |
void |
setExpectReply(boolean expectReply)
Specify whether a reply Message is expected.
|
void |
setExtractPayload(boolean extractPayload)
Specify whether the outbound message's payload should be extracted
when preparing the request body.
|
void |
setHeaderMapper(org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
Set the
HeaderMapper to use when mapping between HTTP headers and MessageHeaders. |
void |
setHttpMethod(org.springframework.http.HttpMethod httpMethod)
Specify the
HttpMethod for requests. |
void |
setHttpMethodExpression(org.springframework.expression.Expression httpMethodExpression)
Specify the SpEL
Expression to determine HttpMethod at runtime. |
void |
setTransferCookies(boolean transferCookies)
Set to true if you wish 'Set-Cookie' headers in responses to be
transferred as 'Cookie' headers in subsequent interactions for
a message.
|
void |
setTrustedSpel(boolean trustedSpel)
Set to true if you trust the source of SpEL expressions used to evaluate URI
variables.
|
void |
setUriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)
Set the Map of URI variable expressions to evaluate against the outbound message
when replacing the variable placeholders in a URI template.
|
void |
setUriVariablesExpression(org.springframework.expression.Expression uriVariablesExpression)
Set the
Expression to evaluate against the outbound message; the expression
must evaluate to a Map of URI variable expressions to evaluate against the outbound message
when replacing the variable placeholders in a URI template. |
doInvokeAdvisedRequestHandler, 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, getComponentType, 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, waitprotected final org.springframework.web.util.DefaultUriBuilderFactory uriFactory
public AbstractHttpRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression)
@Deprecated public void setEncodeUri(boolean encodeUri)
setEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode)uriVariables
expanding and before send request via
RestTemplate. The default value is
true.encodeUri - true if the URI should be encoded.UriComponentsBuilderpublic void setEncodingMode(org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode encodingMode)
DefaultUriBuilderFactory.EncodingMode#TEMPLATE_AND_VALUES.
For more complicated scenarios consider to configure an UriTemplateHandler
on an externally provided RestTemplate.encodingMode - the mode to use for uri encodingpublic void setHttpMethodExpression(org.springframework.expression.Expression httpMethodExpression)
Expression to determine HttpMethod at runtime.httpMethodExpression - The method expression.public void setHttpMethod(org.springframework.http.HttpMethod httpMethod)
HttpMethod for requests.
The default method is POST.httpMethod - The method.public void setExtractPayload(boolean extractPayload)
true.extractPayload - true if the payload should be extracted.public void setCharset(java.lang.String charset)
UTF-8.charset - The charset.public boolean isExpectReply()
setExpectReply(boolean)public void setExpectReply(boolean expectReply)
expectReply - true if a reply is expected.public void setExpectedResponseType(java.lang.Class<?> expectedResponseType)
ResponseEntity and will
be returned as a payload of the reply Message.
To take advantage of the HttpMessageConverters
registered on this adapter, provide a different type).expectedResponseType - The expected type.
Also see setExpectedResponseTypeExpression(Expression)public void setExpectedResponseTypeExpression(org.springframework.expression.Expression expectedResponseTypeExpression)
Expression to determine the type for the expected response
The returned value of the expression could be an instance of Class or
String representing a fully qualified class name.expectedResponseTypeExpression - The expected response type expression.
Also see setExpectedResponseType(java.lang.Class<?>)public void setHeaderMapper(org.springframework.integration.mapping.HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
HeaderMapper to use when mapping between HTTP headers and MessageHeaders.headerMapper - The header mapper.public void setUriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)
uriVariableExpressions - The URI variable expressions.public void setUriVariablesExpression(org.springframework.expression.Expression uriVariablesExpression)
Expression to evaluate against the outbound message; the expression
must evaluate to a Map of URI variable expressions to evaluate against the outbound message
when replacing the variable placeholders in a URI template.uriVariablesExpression - The URI variables expression.public void setTransferCookies(boolean transferCookies)
transferCookies - the transferCookies to set.public void setTrustedSpel(boolean trustedSpel)
SimpleEvaluationContext is used
for evaluating such expressions, which restricts the use of some SpEL capabilities.trustedSpel - true to trust.public org.springframework.integration.IntegrationPatternType getIntegrationPatternType()
getIntegrationPatternType in interface org.springframework.integration.IntegrationPatterngetIntegrationPatternType in class org.springframework.integration.handler.AbstractReplyProducingMessageHandlerprotected void doInit()
doInit in class org.springframework.integration.handler.AbstractReplyProducingMessageHandler@Nullable protected java.lang.Object handleRequestMessage(org.springframework.messaging.Message<?> requestMessage)
handleRequestMessage in class org.springframework.integration.handler.AbstractReplyProducingMessageHandler@Nullable
protected abstract 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)
protected java.lang.Object getReply(org.springframework.http.ResponseEntity<?> httpResponse)
protected org.springframework.http.HttpHeaders mapHeaders(org.springframework.messaging.Message<?> message)
@Nullable
protected java.lang.Object evaluateTypeFromExpression(org.springframework.messaging.Message<?> requestMessage,
@Nullable
org.springframework.expression.Expression expression,
java.lang.String property)