public class BaseHttpInboundEndpoint extends MessagingGatewaySupport implements OrderlyShutdownCapable
MessagingGatewaySupport extension for HTTP Inbound endpoints
with basic properties.IntegrationManagement.ManagementOverrides| Modifier and Type | Field and Description |
|---|---|
protected java.util.concurrent.atomic.AtomicInteger |
activeCount |
protected boolean |
expectReply |
protected static boolean |
jaxb2Present |
protected static java.util.List<org.springframework.http.HttpMethod> |
nonReadableBodyHttpMethods |
protected static boolean |
romeToolsPresent |
messagingTemplatelifecycleCondition, lifecycleLockEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| Constructor and Description |
|---|
BaseHttpInboundEndpoint(boolean expectReply) |
| Modifier and Type | Method and Description |
|---|---|
int |
afterShutdown()
Called after normal shutdown of schedulers, executors etc,
and after the shutdown delay has elapsed, but before any
forced shutdown of any remaining active scheduler/executor
threads.Can optionally return the number of active messages
still in process.
|
int |
beforeShutdown()
Called before shutdown begins.
|
protected org.springframework.expression.spel.support.StandardEvaluationContext |
createEvaluationContext() |
protected org.springframework.http.HttpStatus |
evaluateHttpStatus() |
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
CrossOrigin |
getCrossOrigin() |
protected boolean |
getExtractReplyPayload() |
protected java.util.Map<java.lang.String,org.springframework.expression.Expression> |
getHeaderExpressions() |
protected HeaderMapper<org.springframework.http.HttpHeaders> |
getHeaderMapper() |
protected org.springframework.expression.Expression |
getPayloadExpression() |
RequestMapping |
getRequestMapping() |
protected org.springframework.core.ResolvableType |
getRequestPayloadType() |
protected org.springframework.expression.Expression |
getStatusCodeExpression() |
protected boolean |
isExpectReply() |
protected boolean |
isReadable(org.springframework.http.HttpRequest request)
Checks if the request has a readable body (not a GET, HEAD, or OPTIONS request).
|
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
protected org.springframework.http.HttpStatus |
resolveHttpStatusFromHeaders(org.springframework.messaging.MessageHeaders headers) |
void |
setCrossOrigin(CrossOrigin crossOrigin)
Set the
CrossOrigin to permit cross origin requests for this endpoint. |
void |
setExtractReplyPayload(boolean extractReplyPayload)
Specify whether only the reply Message's payload should be passed in the response.
|
void |
setHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions)
Specifies a Map of SpEL expressions to evaluate in order to generate the Message headers.
|
void |
setHeaderMapper(HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
Set the
HeaderMapper to use when mapping between HTTP headers and MessageHeaders. |
void |
setPayloadExpression(org.springframework.expression.Expression payloadExpression)
Specifies a SpEL expression to evaluate in order to generate the Message payload.
|
void |
setRequestMapping(RequestMapping requestMapping)
Set the
RequestMapping which allows you to specify a flexible RESTFul-mapping for this endpoint. |
void |
setRequestPayloadType(org.springframework.core.ResolvableType requestPayloadType)
Specify the type of payload to be generated when the inbound HTTP request
content is read by the converters/encoders.
|
void |
setRequestPayloadTypeClass(java.lang.Class<?> requestPayloadType)
Specify the type of payload to be generated when the inbound HTTP request
content is read by the converters/encoders.
|
void |
setStatusCodeExpression(org.springframework.expression.Expression statusCodeExpression)
Specify the
Expression to resolve a status code for Response to override
the default '200 OK' or '500 Internal Server Error' for a timeout. |
void |
setStatusCodeExpressionString(java.lang.String statusCodeExpression)
Specify the
Expression to resolve a status code for Response to override
the default '200 OK' or '500 Internal Server Error' for a timeout. |
buildErrorMessage, doStart, doStop, getErrorChannel, getErrorMessageAttributes, getManagedName, getManagedType, getMessageCount, getMessageCountLong, getOverrides, getReplyChannel, getRequestChannel, isCountsEnabled, isLoggingEnabled, receive, receive, receiveMessage, receiveMessage, registerReplyMessageCorrelatorIfNecessary, reset, send, sendAndReceive, sendAndReceiveMessage, sendAndReceiveMessageReactive, setCountsEnabled, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setLoggingEnabled, setManagedName, setManagedType, setReplyChannel, setReplyChannelName, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestChannelName, setRequestMapper, setRequestTimeout, setShouldTrackdestroy, doStop, getPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, setTaskScheduler, start, stop, stopafterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetComponentNamesetCounterregisterMetricsCaptorprotected static final boolean jaxb2Present
protected static final boolean romeToolsPresent
protected static final java.util.List<org.springframework.http.HttpMethod> nonReadableBodyHttpMethods
protected final boolean expectReply
protected final java.util.concurrent.atomic.AtomicInteger activeCount
public void setPayloadExpression(org.springframework.expression.Expression payloadExpression)
#pathVariables#requestParams#requestAttributes#requestHeaders#matrixVariables#cookies
payloadExpression - The payload expression.public void setHeaderExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> headerExpressions)
#pathVariables#requestParams#requestAttributes#requestHeaders#matrixVariables#cookies
headerExpressions - The header expressions.public void setRequestMapping(RequestMapping requestMapping)
RequestMapping which allows you to specify a flexible RESTFul-mapping for this endpoint.requestMapping - The request mapping.public final RequestMapping getRequestMapping()
public void setCrossOrigin(CrossOrigin crossOrigin)
CrossOrigin to permit cross origin requests for this endpoint.crossOrigin - the CrossOrigin config.public CrossOrigin getCrossOrigin()
protected org.springframework.expression.Expression getPayloadExpression()
protected java.util.Map<java.lang.String,org.springframework.expression.Expression> getHeaderExpressions()
protected boolean isExpectReply()
public void setHeaderMapper(HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
HeaderMapper to use when mapping between HTTP headers and MessageHeaders.headerMapper - The header mapper.protected HeaderMapper<org.springframework.http.HttpHeaders> getHeaderMapper()
public void setRequestPayloadTypeClass(java.lang.Class<?> requestPayloadType)
byte[].class.requestPayloadType - The payload type.public void setRequestPayloadType(org.springframework.core.ResolvableType requestPayloadType)
byte[].class.requestPayloadType - The payload type.protected org.springframework.core.ResolvableType getRequestPayloadType()
public void setExtractReplyPayload(boolean extractReplyPayload)
extractReplyPayload - true to extract the reply payload.protected boolean getExtractReplyPayload()
public void setStatusCodeExpressionString(java.lang.String statusCodeExpression)
Expression to resolve a status code for Response to override
the default '200 OK' or '500 Internal Server Error' for a timeout.statusCodeExpression - The status code Expression.setStatusCodeExpression(Expression)public void setStatusCodeExpression(org.springframework.expression.Expression statusCodeExpression)
Expression to resolve a status code for Response to override
the default '200 OK' or '500 Internal Server Error' for a timeout.
The statusCodeExpression is applied only for the one-way
<http:inbound-channel-adapter/> or when no reply (timeout) is received for
a gateway. The <http:inbound-gateway/> (or whenever
expectReply is true) resolves
an HttpStatus from the
HttpHeaders.STATUS_CODE reply
Message header.
statusCodeExpression - The status code Expression.MessagingGatewaySupport.setReplyTimeout(long),
HttpRequestHandlingEndpointSupport.HttpRequestHandlingEndpointSupport(boolean)protected org.springframework.expression.Expression getStatusCodeExpression()
protected void onInit()
throws java.lang.Exception
IntegrationObjectSupportonInit in class MessagingGatewaySupportjava.lang.Exception - Any exception.protected org.springframework.http.HttpStatus evaluateHttpStatus()
protected org.springframework.http.HttpStatus resolveHttpStatusFromHeaders(org.springframework.messaging.MessageHeaders headers)
protected org.springframework.expression.spel.support.StandardEvaluationContext createEvaluationContext()
public int beforeShutdown()
OrderlyShutdownCapablebeforeShutdown in interface OrderlyShutdownCapablepublic int afterShutdown()
OrderlyShutdownCapableafterShutdown in interface OrderlyShutdownCapablepublic java.lang.String getComponentType()
IntegrationObjectSupportgetComponentType in interface NamedComponentgetComponentType in class MessagingGatewaySupportprotected boolean isReadable(org.springframework.http.HttpRequest request)
request - the HTTP request to check the method