public final class IntegrationRequestMappingHandlerMapping extends RequestMappingHandlerMapping implements ApplicationListener<ContextRefreshedEvent>
HandlerMapping
implementation that
detects and registers RequestMappingInfo
s for HttpRequestHandlingEndpointSupport
from a Spring Integration HTTP configuration of
<inbound-channel-adapter/>
and <inbound-gateway/>
elements.
This class is automatically configured as a bean in the application context during the parsing phase of
the <inbound-channel-adapter/>
and <inbound-gateway/>
elements, if there is none registered, yet.
However it can be configured as a regular bean with appropriate configuration for
RequestMappingHandlerMapping
. It is recommended to have only one similar bean in the application context
using the 'id' HttpContextUtils.HANDLER_MAPPING_BEAN_NAME
.
In most cases, Spring MVC offers to configure Request Mapping via org.springframework.stereotype.Controller
and RequestMapping
.
That's why Spring MVC's Handler Mapping infrastructure relies on HandlerMethod
,
as different methods at the same org.springframework.stereotype.Controller
user-class may have their own
RequestMapping
. On the other side, all Spring Integration HTTP Inbound
Endpoints are configured on the basis of the same HttpRequestHandlingEndpointSupport
class and there is no
single RequestMappingInfo
configuration without HandlerMethod
in Spring MVC.
Accordingly IntegrationRequestMappingHandlerMapping
is a HandlerMapping
compromise implementation between method-level annotations and component-level (e.g. Spring Integration XML) configurations.
RequestMapping
,
RequestMappingHandlerMapping
logger
BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
IntegrationRequestMappingHandlerMapping() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected void |
detectHandlerMethods(Object handler) |
protected HandlerExecutionChain |
getHandlerExecutionChain(Object handler,
HttpServletRequest request) |
protected boolean |
isHandler(Class<?> beanType) |
void |
onApplicationEvent(ContextRefreshedEvent event)
HttpRequestHandlingEndpointSupport s may depend on auto-created
requestChannel s, so MVC Handlers detection should be postponed
as late as possible. |
createRequestMappingInfo, getContentNegotiationManager, getCustomMethodCondition, getCustomTypeCondition, getFileExtensions, getMappingForMethod, resolveEmbeddedValuesInPatterns, setContentNegotiationManager, setEmbeddedValueResolver, setUseRegisteredSuffixPatternMatch, setUseSuffixPatternMatch, setUseTrailingSlashMatch, useRegisteredSuffixPatternMatch, useSuffixPatternMatch, useTrailingSlashMatch
getMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatch, handleNoMatch
createHandlerMethod, getHandlerInternal, getHandlerMethods, handlerMethodsInitialized, initHandlerMethods, lookupHandlerMethod, registerHandlerMethod, setDetectHandlerMethodsInAncestorContexts
adaptInterceptor, detectMappedInterceptors, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initApplicationContext, initInterceptors, setAlwaysUseFullPath, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext
public IntegrationRequestMappingHandlerMapping()
protected final boolean isHandler(Class<?> beanType)
isHandler
in class RequestMappingHandlerMapping
protected final HandlerExecutionChain getHandlerExecutionChain(Object handler, HttpServletRequest request)
getHandlerExecutionChain
in class AbstractHandlerMapping
protected final void detectHandlerMethods(Object handler)
detectHandlerMethods
in class AbstractHandlerMethodMapping<RequestMappingInfo>
public void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
afterPropertiesSet
in class RequestMappingHandlerMapping
public void onApplicationEvent(ContextRefreshedEvent event)
HttpRequestHandlingEndpointSupport
s may depend on auto-created
requestChannel
s, so MVC Handlers detection should be postponed
as late as possible.onApplicationEvent
in interface ApplicationListener<ContextRefreshedEvent>
RequestMappingHandlerMapping.afterPropertiesSet()