Interface RabbitMessageOperations

All Superinterfaces:
MessageReceivingOperations<String>, MessageRequestReplyOperations<String>, MessageSendingOperations<String>
All Known Implementing Classes:
RabbitMessagingTemplate

A specialization of MessageSendingOperations and MessageRequestReplyOperations for AMQP related operations that allow to specify not only the exchange but also the routing key to use.
Since:
1.4
Author:
Stephane Nicoll
See Also:
  • Method Details

    • send

      void send(String exchange, String routingKey, Message<?> message) throws MessagingException
      Send a message to a specific exchange with a specific routing key.
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      message - the message to send
      Throws:
      MessagingException - a messaging exception.
    • convertAndSend

      void convertAndSend(String exchange, String routingKey, Object payload) throws MessagingException
      Convert the given Object to serialized form, possibly using a MessageConverter, wrap it as a message and send it to a specific exchange with a specific routing key.
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      payload - the Object to use as payload
      Throws:
      MessagingException - a messaging exception.
    • convertAndSend

      void convertAndSend(String exchange, String routingKey, Object payload, Map<String,Object> headers) throws MessagingException
      Convert the given Object to serialized form, possibly using a MessageConverter, wrap it as a message with the given headers and send it to a specific exchange with a specific routing key.
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      payload - the Object to use as payload
      headers - headers for the message to send
      Throws:
      MessagingException - a messaging exception.
    • convertAndSend

      void convertAndSend(String exchange, String routingKey, Object payload, MessagePostProcessor postProcessor) throws MessagingException
      Convert the given Object to serialized form, possibly using a MessageConverter, wrap it as a message, apply the given post processor, and send the resulting message to a specific exchange with a specific routing key.
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      payload - the Object to use as payload
      postProcessor - the post processor to apply to the message
      Throws:
      MessagingException - a messaging exception.
    • convertAndSend

      void convertAndSend(String exchange, String routingKey, Object payload, Map<String,Object> headers, MessagePostProcessor postProcessor) throws MessagingException
      Convert the given 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 a specific exchange with a specific routing key.
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      payload - the Object to use as payload
      headers - headers for the message to send
      postProcessor - the post processor to apply to the message
      Throws:
      MessagingException - a messaging exception.
    • sendAndReceive

      Message<?> sendAndReceive(String exchange, String routingKey, Message<?> requestMessage) throws MessagingException
      Send a request message to a specific exchange with a specific routing key and wait for the reply.
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      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 - a messaging exception.
    • convertSendAndReceive

      <T> T convertSendAndReceive(String exchange, String routingKey, 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 specific exchange with a specific routing key, receive the reply and convert its body of the specified target class.
      Type Parameters:
      T - return type
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      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 - a messaging exception.
    • convertSendAndReceive

      <T> T convertSendAndReceive(String exchange, String routingKey, Object request, 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 a specific exchange with a specific routing key, receive the reply and convert its body of the specified target class.
      Type Parameters:
      T - return type
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      request - payload for the request message to send
      headers - 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 - a messaging exception.
    • convertSendAndReceive

      <T> T convertSendAndReceive(String exchange, String routingKey, 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 a specific exchange with a specific routing key, receive the reply and convert its body of the given target class.
      Type Parameters:
      T - return type
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      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 - a messaging exception.
    • convertSendAndReceive

      <T> T convertSendAndReceive(String exchange, String routingKey, Object request, Map<String,Object> headers, Class<T> targetClass, 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 a specific exchange with a specific routing key,, receive the reply and convert its body of the given target class.
      Type Parameters:
      T - return type
      Parameters:
      exchange - the name of the exchange
      routingKey - the routing key
      request - payload for the request message to send
      headers - headers for the 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 - a messaging exception.