Class DelegatingInvocableHandler

java.lang.Object
org.springframework.amqp.rabbit.listener.adapter.DelegatingInvocableHandler

public class DelegatingInvocableHandler extends Object
Delegates to an InvocableHandlerMethod based on the message payload type. Matches a single, non-annotated parameter or one that is annotated with Payload. Matches must be unambiguous.
Since:
1.5
Author:
Gary Russell, Artem Bilan
  • Constructor Details

  • Method Details

    • getBean

      public Object getBean()
      Returns:
      the bean
    • isAsyncReplies

      public boolean isAsyncReplies()
      Return true if any handler method has an async reply type.
      Returns:
      the asyncReply.
      Since:
      2.2.21
    • invoke

      public InvocationResult invoke(Message<?> message, Object... providedArgs) throws Exception
      Invoke the method with the given message.
      Parameters:
      message - the message.
      providedArgs - additional arguments.
      Returns:
      the result of the invocation.
      Throws:
      Exception - raised if no suitable argument resolver can be found, or the method raised an exception.
    • getHandlerForPayload

      protected InvocableHandlerMethod getHandlerForPayload(Class<? extends Object> payloadClass)
      Parameters:
      payloadClass - the payload class.
      Returns:
      the handler.
    • findHandlerForPayload

      protected InvocableHandlerMethod findHandlerForPayload(Class<? extends Object> payloadClass)
    • matchHandlerMethod

      protected boolean matchHandlerMethod(Class<? extends Object> payloadClass, InvocableHandlerMethod handler)
    • getMethodNameFor

      public String getMethodNameFor(Object payload)
      Return a string representation of the method that will be invoked for this payload.
      Parameters:
      payload - the payload.
      Returns:
      the method name.
    • getMethodFor

      public Method getMethodFor(Object payload)
      Return the method that will be invoked for this payload.
      Parameters:
      payload - the payload.
      Returns:
      the method.
      Since:
      2.0
    • hasDefaultHandler

      public boolean hasDefaultHandler()
    • getInvocationResultFor

      @Nullable public InvocationResult getInvocationResultFor(Object result, Object inboundPayload)