Class ExpressionEvaluatingRoutingSlipRouteStrategy
- All Implemented Interfaces:
- Aware,- BeanFactoryAware,- InitializingBean,- RoutingSlipRouteStrategy
Expression based RoutingSlipRouteStrategy implementation.
 The requestMessage and reply object are wrapped
 to the ExpressionEvaluatingRoutingSlipRouteStrategy.RequestAndReply which is used as a EvaluationContext rootObject.
 This is necessary to avoid a creation of a new EvaluationContext on each invocation
 when additional parameter can be populated as expression variable, but EvaluationContext
 isn't thread-safe.
 
 The ExpressionEvaluatingRoutingSlipRouteStrategy can be used directly as a regular bean
 in the ApplicationContext and its beanName can be used from routingSlip
 header configuration.
 
 Usage of ExpressionEvaluatingRoutingSlipRouteStrategy as a regular bean definition is
 a recommended way in case of distributed environment, when message with routingSlip
 header can be sent across the network. One of this case is a QueueChannel with
 persistent MessageStore, when ExpressionEvaluatingRoutingSlipRouteStrategy
 instance as a header value will be non-serializable.
 
 This class is used internally from RoutingSlipHeaderValueMessageProcessor
 to populate routingSlip header value item, when the value
 from configuration contains expression definitions:
 
 
 <header-enricher>
     <routing-slip
           value="channel1; @routingSlipPojo.get(request, reply); request.headers[foo]"/>
 </header-enricher>
 
 - Since:
- 4.1
- Author:
- Artem Bilan, Gary Russell
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic class
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidgetNextPath(Message<?> requestMessage, Object reply) Get the next path for this routing slip.voidsetBeanFactory(BeanFactory beanFactory) voidsetIntegrationEvaluationContext(EvaluationContext evaluationContext) toString()
- 
Constructor Details- 
ExpressionEvaluatingRoutingSlipRouteStrategy
- 
ExpressionEvaluatingRoutingSlipRouteStrategy
 
- 
- 
Method Details- 
setIntegrationEvaluationContext
- 
setBeanFactory- Specified by:
- setBeanFactoryin interface- BeanFactoryAware
- Throws:
- BeansException
 
- 
afterPropertiesSetpublic void afterPropertiesSet()- Specified by:
- afterPropertiesSetin interface- InitializingBean
 
- 
getNextPathDescription copied from interface:RoutingSlipRouteStrategyGet the next path for this routing slip.- Specified by:
- getNextPathin interface- RoutingSlipRouteStrategy
- Parameters:
- requestMessage- the request message.
- reply- the reply - depending on context, this may be a user-level domain object, a- Messageor a- AbstractIntegrationMessageBuilder.
- Returns:
- a channel name or another RoutingSlipRouteStrategy.
 
- 
toString
 
-