Class MessagingMethodInvokerHelper
java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.handler.support.MessagingMethodInvokerHelper
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,InitializingBean
,Lifecycle
,ManageableLifecycle
public class MessagingMethodInvokerHelper extends AbstractExpressionEvaluator implements ManageableLifecycle
A helper class for processors that invoke a method on a target Object using
a combination of message payload(s) and headers as arguments.
The Method instance or method name may be provided as a constructor argument.
If a method name is provided, and more than one declared method has that name,
the method-selection will be dynamic, based on the underlying SpEL method resolution.
Alternatively, an annotation type may be provided so that the candidates for SpEL's
method resolution are determined by the presence of that annotation rather than the method name.
- Since:
- 2.0
- Author:
- Mark Fisher, Oleg Zhurakousky, Dave Syer, Gunnar Hillert, Soby Chacko, Gary Russell, Artem Bilan
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MessagingMethodInvokerHelper.ParametersWrapper
-
Field Summary
Fields inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
EXPRESSION_PARSER, logger
-
Constructor Summary
Constructors Constructor Description MessagingMethodInvokerHelper(Object targetObject, Class<? extends Annotation> annotationType, boolean canProcessMessageList)
MessagingMethodInvokerHelper(Object targetObject, Class<? extends Annotation> annotationType, Class<?> expectedType, boolean canProcessMessageList)
MessagingMethodInvokerHelper(Object targetObject, Method method, boolean canProcessMessageList)
MessagingMethodInvokerHelper(Object targetObject, Method method, Class<?> expectedType, boolean canProcessMessageList)
MessagingMethodInvokerHelper(Object targetObject, String methodName, boolean canProcessMessageList)
MessagingMethodInvokerHelper(Object targetObject, String methodName, Class<?> expectedType, boolean canProcessMessageList)
-
Method Summary
Modifier and Type Method Description boolean
isRunning()
Object
process(Collection<Message<?>> messages, Map<String,Object> headers)
Object
process(Message<?> message)
void
setBeanFactory(BeanFactory beanFactory)
Specify a BeanFactory in order to enable resolution via@beanName
in the expression.void
setUseSpelInvoker(boolean useSpelInvoker)
Aboolean
flag to use SpEL Expression evaluation orInvocableHandlerMethod
for target method invocation.void
start()
void
stop()
String
toString()
Methods inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, onInit, setConversionService
-
Constructor Details
-
MessagingMethodInvokerHelper
-
MessagingMethodInvokerHelper
-
MessagingMethodInvokerHelper
-
MessagingMethodInvokerHelper
-
MessagingMethodInvokerHelper
public MessagingMethodInvokerHelper(Object targetObject, Class<? extends Annotation> annotationType, boolean canProcessMessageList) -
MessagingMethodInvokerHelper
public MessagingMethodInvokerHelper(Object targetObject, Class<? extends Annotation> annotationType, Class<?> expectedType, boolean canProcessMessageList)
-
-
Method Details
-
setUseSpelInvoker
public void setUseSpelInvoker(boolean useSpelInvoker)Aboolean
flag to use SpEL Expression evaluation orInvocableHandlerMethod
for target method invocation.- Parameters:
useSpelInvoker
- to use SpEL Expression evaluation or not.- Since:
- 5.0
-
setBeanFactory
Description copied from class:AbstractExpressionEvaluator
Specify a BeanFactory in order to enable resolution via@beanName
in the expression.- Specified by:
setBeanFactory
in interfaceBeanFactoryAware
- Overrides:
setBeanFactory
in classAbstractExpressionEvaluator
-
process
-
process
-
toString
-
start
public void start()- Specified by:
start
in interfaceLifecycle
- Specified by:
start
in interfaceManageableLifecycle
-
stop
public void stop()- Specified by:
stop
in interfaceLifecycle
- Specified by:
stop
in interfaceManageableLifecycle
-
isRunning
public boolean isRunning()- Specified by:
isRunning
in interfaceLifecycle
- Specified by:
isRunning
in interfaceManageableLifecycle
-