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 |
messagingTemplate
lifecycleCondition, lifecycleLock
EXPRESSION_PARSER, logger
METER_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, setShouldTrack
destroy, doStop, getPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, setTaskScheduler, start, stop, stop
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
setCounter
registerMetricsCaptor
protected 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
IntegrationObjectSupport
onInit
in class MessagingGatewaySupport
java.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()
OrderlyShutdownCapable
beforeShutdown
in interface OrderlyShutdownCapable
public int afterShutdown()
OrderlyShutdownCapable
afterShutdown
in interface OrderlyShutdownCapable
public java.lang.String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class MessagingGatewaySupport
protected boolean isReadable(org.springframework.http.HttpRequest request)
request
- the HTTP request to check the method