Interface MessageRequestReplyOperations<D>

Type Parameters:
D - the type of destination
All Known Subinterfaces:
DestinationResolvingMessageRequestReplyOperations<D>, JmsMessageOperations
All Known Implementing Classes:
AbstractDestinationResolvingMessagingTemplate, AbstractMessagingTemplate, GenericMessagingTemplate, JmsMessagingTemplate

public interface MessageRequestReplyOperations<D>
Operations for sending messages to and receiving the reply from a destination.
Since:
4.0
Author:
Mark Fisher, Rossen Stoyanchev
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> T
    convertSendAndReceive(D destination, Object request, Class<T> targetClass)
    Convert the given request Object to serialized form, possibly using a MessageConverter, send it as a Message to the given destination, receive the reply and convert its body of the specified target class.
    <T> T
    convertSendAndReceive(D destination, Object request, Class<T> targetClass, MessagePostProcessor requestPostProcessor)
    Convert the given request Object to serialized form, possibly using a MessageConverter, apply the given post processor and send the resulting Message to the given destination, receive the reply and convert its body of the given target class.
    <T> T
    convertSendAndReceive(D destination, Object request, Map<String,Object> headers, Class<T> targetClass)
    Convert the given request Object to serialized form, possibly using a MessageConverter, send it as a Message with the given headers, to the specified destination, receive the reply and convert its body of the specified target class.
    <T> T
    convertSendAndReceive(D destination, Object request, Map<String,Object> headers, Class<T> targetClass, MessagePostProcessor requestPostProcessor)
    Convert the given request Object to serialized form, possibly using a MessageConverter, wrap it as a message with the given headers, apply the given post processor and send the resulting Message to the specified destination, receive the reply and convert its body of the given target class.
    <T> T
    convertSendAndReceive(Object request, Class<T> targetClass)
    Convert the given request Object to serialized form, possibly using a MessageConverter, send it as a Message to a default destination, receive the reply and convert its body of the specified target class.
    <T> T
    convertSendAndReceive(Object request, Class<T> targetClass, MessagePostProcessor requestPostProcessor)
    Convert the given request Object to serialized form, possibly using a MessageConverter, apply the given post processor and send the resulting Message to a default destination, receive the reply and convert its body of the given target class.
    sendAndReceive(D destination, Message<?> requestMessage)
    Send a request message and receive the reply from the given destination.
    sendAndReceive(Message<?> requestMessage)
    Send a request message and receive the reply from a default destination.
  • Method Details

    • sendAndReceive

      @Nullable Message<?> sendAndReceive(Message<?> requestMessage) throws MessagingException
      Send a request message and receive the reply from a default destination.
      Parameters:
      requestMessage - the message to send
      Returns:
      the reply, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException
    • sendAndReceive

      @Nullable Message<?> sendAndReceive(D destination, Message<?> requestMessage) throws MessagingException
      Send a request message and receive the reply from the given destination.
      Parameters:
      destination - the target destination
      requestMessage - the message to send
      Returns:
      the reply, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException
    • convertSendAndReceive

      @Nullable <T> T convertSendAndReceive(Object request, Class<T> targetClass) throws MessagingException
      Convert the given request Object to serialized form, possibly using a MessageConverter, send it as a Message to a default destination, receive the reply and convert its body of the specified target class.
      Parameters:
      request - payload for the request message to send
      targetClass - the target type to convert the payload of the reply to
      Returns:
      the payload of the reply message, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException
    • convertSendAndReceive

      @Nullable <T> T convertSendAndReceive(D destination, Object request, Class<T> targetClass) throws MessagingException
      Convert the given request Object to serialized form, possibly using a MessageConverter, send it as a Message to the given destination, receive the reply and convert its body of the specified target class.
      Parameters:
      destination - the target destination
      request - payload for the request message to send
      targetClass - the target type to convert the payload of the reply to
      Returns:
      the payload of the reply message, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException
    • convertSendAndReceive

      @Nullable <T> T convertSendAndReceive(D destination, Object request, @Nullable Map<String,Object> headers, Class<T> targetClass) throws MessagingException
      Convert the given request Object to serialized form, possibly using a MessageConverter, send it as a Message with the given headers, to the specified destination, receive the reply and convert its body of the specified target class.
      Parameters:
      destination - the target destination
      request - payload for the request message to send
      headers - the headers for the request message to send
      targetClass - the target type to convert the payload of the reply to
      Returns:
      the payload of the reply message, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException
    • convertSendAndReceive

      @Nullable <T> T convertSendAndReceive(Object request, Class<T> targetClass, @Nullable MessagePostProcessor requestPostProcessor) throws MessagingException
      Convert the given request Object to serialized form, possibly using a MessageConverter, apply the given post processor and send the resulting Message to a default destination, receive the reply and convert its body of the given target class.
      Parameters:
      request - payload for the request message to send
      targetClass - the target type to convert the payload of the reply to
      requestPostProcessor - post process to apply to the request message
      Returns:
      the payload of the reply message, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException
    • convertSendAndReceive

      @Nullable <T> T convertSendAndReceive(D destination, Object request, Class<T> targetClass, MessagePostProcessor requestPostProcessor) throws MessagingException
      Convert the given request Object to serialized form, possibly using a MessageConverter, apply the given post processor and send the resulting Message to the given destination, receive the reply and convert its body of the given target class.
      Parameters:
      destination - the target destination
      request - payload for the request message to send
      targetClass - the target type to convert the payload of the reply to
      requestPostProcessor - post process to apply to the request message
      Returns:
      the payload of the reply message, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException
    • convertSendAndReceive

      @Nullable <T> T convertSendAndReceive(D destination, Object request, @Nullable Map<String,Object> headers, Class<T> targetClass, @Nullable MessagePostProcessor requestPostProcessor) throws MessagingException
      Convert the given request Object to serialized form, possibly using a MessageConverter, wrap it as a message with the given headers, apply the given post processor and send the resulting Message to the specified destination, receive the reply and convert its body of the given target class.
      Parameters:
      destination - the target destination
      request - payload for the request message to send
      targetClass - the target type to convert the payload of the reply to
      requestPostProcessor - post process to apply to the request message
      Returns:
      the payload of the reply message, possibly null if the message could not be received, for example due to a timeout
      Throws:
      MessagingException