Interface RabbitMessageOperations
- All Superinterfaces:
MessageReceivingOperations<String>, MessageRequestReplyOperations<String>, MessageSendingOperations<String>
- All Known Implementing Classes:
RabbitMessagingTemplate
public interface RabbitMessageOperations
extends MessageSendingOperations<String>, MessageReceivingOperations<String>, MessageRequestReplyOperations<String>
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, Artem Bilan
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidconvertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to a specific exchange with a specific routing key.default voidconvertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload, @Nullable Map<String, Object> headers) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers and send it to a specific exchange with a specific routing key.voidconvertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload, @Nullable Map<String, Object> headers, @Nullable MessagePostProcessor postProcessor) Convert the given Object to serialized form, possibly using aMessageConverter, 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.default voidconvertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload, @Nullable MessagePostProcessor postProcessor) Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message, apply the given post processor, and send the resulting message to a specific exchange with a specific routing key.default <T> @Nullable TconvertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, Class<T> targetClass) Convert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessageto a specific exchange with a specific routing key, receive the reply and convert its body of the specified target class.default <T> @Nullable TconvertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, Class<T> targetClass, @Nullable MessagePostProcessor requestPostProcessor) Convert the given request Object to serialized form, possibly using aMessageConverter, apply the given post processor and send the resultingMessageto a specific exchange with a specific routing key, receive the reply and convert its body of the given target class.default <T> @Nullable TconvertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass) Convert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessagewith the given headers, to a specific exchange with a specific routing key, receive the reply and convert its body of the specified target class.<T> @Nullable TconvertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass, @Nullable MessagePostProcessor requestPostProcessor) Convert the given request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post processor and send the resultingMessageto a specific exchange with a specific routing key, receive the reply and convert its body of the given target class.voidSend a message to a specific exchange with a specific routing key.@Nullable Message<?> sendAndReceive(@Nullable String exchange, @Nullable String routingKey, Message<?> requestMessage) Send a request message to a specific exchange with a specific routing key and wait for the reply.Methods inherited from interface MessageReceivingOperations
receive, receive, receiveAndConvert, receiveAndConvertMethods inherited from interface MessageRequestReplyOperations
convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, sendAndReceive, sendAndReceiveMethods inherited from interface MessageSendingOperations
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, send, send
-
Method Details
-
send
void send(@Nullable String exchange, @Nullable String routingKey, Message<?> message) throws MessagingException Send a message to a specific exchange with a specific routing key.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- the message to send- Throws:
MessagingException- a messaging exception.
-
convertAndSend
default void convertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload) throws MessagingException Convert the given Object to serialized form, possibly using aMessageConverter, wrap it as a message and send it to a specific exchange with a specific routing key.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keypayload- the Object to use as payload- Throws:
MessagingException- a messaging exception.
-
convertAndSend
default void convertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload, @Nullable Map<String, Object> headers) throws MessagingExceptionConvert the given Object to serialized form, possibly using aMessageConverter, 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 exchangeroutingKey- the routing keypayload- the Object to use as payloadheaders- headers for the message to send- Throws:
MessagingException- a messaging exception.
-
convertAndSend
default void convertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload, @Nullable MessagePostProcessor postProcessor) throws MessagingException Convert the given Object to serialized form, possibly using aMessageConverter, 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 exchangeroutingKey- the routing keypayload- the Object to use as payloadpostProcessor- the post processor to apply to the message- Throws:
MessagingException- a messaging exception.
-
convertAndSend
void convertAndSend(@Nullable String exchange, @Nullable String routingKey, Object payload, @Nullable Map<String, Object> headers, @Nullable MessagePostProcessor postProcessor) throws MessagingExceptionConvert the given Object to serialized form, possibly using aMessageConverter, 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 exchangeroutingKey- the routing keypayload- the Object to use as payloadheaders- headers for the message to sendpostProcessor- the post processor to apply to the message- Throws:
MessagingException- a messaging exception.
-
sendAndReceive
@Nullable Message<?> sendAndReceive(@Nullable String exchange, @Nullable 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 exchangeroutingKey- the routing keyrequestMessage- the message to send- Returns:
- the reply, possibly
nullif the message could not be received, for example due to a timeout - Throws:
MessagingException- a messaging exception.
-
convertSendAndReceive
default <T> @Nullable T convertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, Class<T> targetClass) throws MessagingException Convert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessageto 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 exchangeroutingKey- the routing keyrequest- payload for the request message to sendtargetClass- the target type to convert the payload of the reply to- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout - Throws:
MessagingException- a messaging exception.
-
convertSendAndReceive
default <T> @Nullable T convertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass) throws MessagingExceptionConvert the given request Object to serialized form, possibly using aMessageConverter, send it as aMessagewith 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 exchangeroutingKey- the routing keyrequest- payload for the request message to sendheaders- headers for the request message to sendtargetClass- the target type to convert the payload of the reply to- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout - Throws:
MessagingException- a messaging exception.
-
convertSendAndReceive
default <T> @Nullable T convertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, Class<T> targetClass, @Nullable MessagePostProcessor requestPostProcessor) throws MessagingException Convert the given request Object to serialized form, possibly using aMessageConverter, apply the given post processor and send the resultingMessageto 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 exchangeroutingKey- the routing keyrequest- payload for the request message to sendtargetClass- the target type to convert the payload of the reply torequestPostProcessor- post process to apply to the request message- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout - Throws:
MessagingException- a messaging exception.
-
convertSendAndReceive
<T> @Nullable T convertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object request, @Nullable Map<String, Object> headers, Class<T> targetClass, @Nullable MessagePostProcessor requestPostProcessor) throws MessagingExceptionConvert the given request Object to serialized form, possibly using aMessageConverter, wrap it as a message with the given headers, apply the given post processor and send the resultingMessageto 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 exchangeroutingKey- the routing keyrequest- payload for the request message to sendheaders- headers for the message to sendtargetClass- the target type to convert the payload of the reply torequestPostProcessor- post process to apply to the request message- Returns:
- the payload of the reply message, possibly
nullif the message could not be received, for example due to a timeout - Throws:
MessagingException- a messaging exception.
-