public class DelegatingInvocableHandler extends Object
InvocableHandlerMethod based on the message payload type.
Matches a single, non-annotated parameter or one that is annotated with Payload.
Matches must be unambiguous.| Constructor and Description |
|---|
DelegatingInvocableHandler(List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers,
Object bean,
org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver,
org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext)
Construct an instance with the supplied handlers for the bean.
|
| Modifier and Type | Method and Description |
|---|---|
protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod |
findHandlerForPayload(Class<? extends Object> payloadClass) |
Object |
getBean() |
protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod |
getHandlerForPayload(Class<? extends Object> payloadClass) |
Method |
getMethodFor(Object payload)
Return the method that will be invoked for this payload.
|
String |
getMethodNameFor(Object payload)
Return a string representation of the method that will be invoked for this payload.
|
Object |
invoke(org.springframework.messaging.Message<?> message,
Object... providedArgs)
Invoke the method with the given message.
|
protected boolean |
matchHandlerMethod(Class<? extends Object> payloadClass,
org.springframework.messaging.handler.invocation.InvocableHandlerMethod handler) |
public DelegatingInvocableHandler(List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers, Object bean, org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver, org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext)
handlers - the handlers.bean - the bean.beanExpressionResolver - the resolver.beanExpressionContext - the context.public Object getBean()
public Object invoke(org.springframework.messaging.Message<?> message, Object... providedArgs) throws Exception
message - the message.providedArgs - additional arguments.Exception - raised if no suitable argument resolver can be found,
or the method raised an exception.protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod getHandlerForPayload(Class<? extends Object> payloadClass)
payloadClass - the payload class.protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod findHandlerForPayload(Class<? extends Object> payloadClass)
protected boolean matchHandlerMethod(Class<? extends Object> payloadClass, org.springframework.messaging.handler.invocation.InvocableHandlerMethod handler)
public String getMethodNameFor(Object payload)
payload - the payload.