Spring Integration

org.springframework.integration.handler
Class MethodInvokingMessageProcessor<T>

java.lang.Object
  extended by org.springframework.integration.util.AbstractExpressionEvaluator
      extended by org.springframework.integration.handler.AbstractMessageProcessor<T>
          extended by org.springframework.integration.handler.MethodInvokingMessageProcessor<T>
All Implemented Interfaces:
org.springframework.beans.factory.BeanFactoryAware, MessageProcessor<T>

public class MethodInvokingMessageProcessor<T>
extends AbstractMessageProcessor<T>

A MessageProcessor implementation that invokes a method on a target Object. 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:
Dave Syer

Constructor Summary
MethodInvokingMessageProcessor(java.lang.Object targetObject, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
MethodInvokingMessageProcessor(java.lang.Object targetObject, java.lang.reflect.Method method)
           
MethodInvokingMessageProcessor(java.lang.Object targetObject, java.lang.String methodName)
           
MethodInvokingMessageProcessor(java.lang.Object targetObject, java.lang.String methodName, boolean canProcessMessageList)
           
 
Method Summary
 T processMessage(Message<?> message)
          Process the Message and return a value (or null).
 void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
          Specify a BeanFactory in order to enable resolution via @beanName in the expression.
 void setConversionService(org.springframework.core.convert.ConversionService conversionService)
           
 
Methods inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getEvaluationContext, setBeanResolver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodInvokingMessageProcessor

public MethodInvokingMessageProcessor(java.lang.Object targetObject,
                                      java.lang.reflect.Method method)

MethodInvokingMessageProcessor

public MethodInvokingMessageProcessor(java.lang.Object targetObject,
                                      java.lang.String methodName)

MethodInvokingMessageProcessor

public MethodInvokingMessageProcessor(java.lang.Object targetObject,
                                      java.lang.String methodName,
                                      boolean canProcessMessageList)

MethodInvokingMessageProcessor

public MethodInvokingMessageProcessor(java.lang.Object targetObject,
                                      java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Method Detail

setConversionService

public void setConversionService(org.springframework.core.convert.ConversionService conversionService)
Overrides:
setConversionService in class AbstractExpressionEvaluator

setBeanFactory

public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
Description copied from class: AbstractExpressionEvaluator
Specify a BeanFactory in order to enable resolution via @beanName in the expression.

Specified by:
setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
Overrides:
setBeanFactory in class AbstractExpressionEvaluator

processMessage

public T processMessage(Message<?> message)
Description copied from interface: MessageProcessor
Process the Message and return a value (or null).

Specified by:
processMessage in interface MessageProcessor<T>
Specified by:
processMessage in class AbstractMessageProcessor<T>

Spring Integration