Interface RabbitOperations
- All Superinterfaces:
org.springframework.amqp.core.AmqpTemplate,org.springframework.context.Lifecycle
- All Known Implementing Classes:
BatchingRabbitTemplate,RabbitTemplate
public interface RabbitOperations
extends org.springframework.amqp.core.AmqpTemplate, org.springframework.context.Lifecycle
Rabbit specific methods for Amqp functionality.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceCallback for using the same channel for multiple RabbitTemplate operations. -
Method Summary
Modifier and TypeMethodDescriptionvoidconvertAndSend(@Nullable String exchange, @Nullable String routingKey, Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) Convert a Java object to an AmqpMessageand send it to a specific exchange with a specific routing key.voidconvertAndSend(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) Convert a Java object to an AmqpMessageand send it to a specific exchange with a specific routing key.voidconvertAndSend(@Nullable String routingKey, Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) Convert a Java object to an AmqpMessageand send it to a default exchange with a specific routing key.voidconvertAndSend(@Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) Convert a Java object to an AmqpMessageand send it to a default exchange with a specific routing key.voidconvertAndSend(Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) Convert a Java object to an AmqpMessageand send it to a default exchange with a default routing key.@Nullable ObjectconvertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) Basic RPC pattern with conversion.@Nullable ObjectconvertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) Basic RPC pattern with conversion.@Nullable ObjectconvertSendAndReceive(@Nullable String routingKey, Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) Basic RPC pattern with conversion.@Nullable ObjectconvertSendAndReceive(@Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) Basic RPC pattern with conversion.@Nullable ObjectconvertSendAndReceive(Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) Basic RPC pattern with conversion.@Nullable ObjectconvertSendAndReceive(Object message, @Nullable CorrelationData correlationData) Basic RPC pattern with conversion.<T> @Nullable TconvertSendAndReceiveAsType(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) Basic RPC pattern with conversion.default <T> @Nullable TconvertSendAndReceiveAsType(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) Basic RPC pattern with conversion.<T> @Nullable TconvertSendAndReceiveAsType(@Nullable String routingKey, Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) Basic RPC pattern with conversion.<T> @Nullable TconvertSendAndReceiveAsType(@Nullable String routingKey, Object message, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) Basic RPC pattern with conversion.<T> @Nullable TconvertSendAndReceiveAsType(Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) Basic RPC pattern with conversion.<T> @Nullable TconvertSendAndReceiveAsType(Object message, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) Basic RPC pattern with conversion.voidcorrelationConvertAndSend(Object message, CorrelationData correlationData) Convert a Java object to an AmqpMessageand send it to a default exchange with a default routing key.<T> @Nullable Texecute(ChannelCallback<? extends @Nullable T> action) Execute the callback with a channel and reliably close the channel afterward.Return the connection factory for these operations.default <T> @Nullable Tinvoke(RabbitOperations.OperationsCallback<? extends @Nullable T> action) Invoke the callback and run all operations on the template argument in a dedicated thread-bound channel and reliably close the channel afterward.<T> @Nullable Tinvoke(RabbitOperations.OperationsCallback<? extends @Nullable T> action, @Nullable com.rabbitmq.client.ConfirmCallback acks, @Nullable com.rabbitmq.client.ConfirmCallback nacks) Invoke operations on the same channel.default booleanvoidsend(@Nullable String exchange, @Nullable String routingKey, org.springframework.amqp.core.Message message, @Nullable CorrelationData correlationData) Send a message to a specific exchange with a specific routing key.default voidsend(@Nullable String routingKey, org.springframework.amqp.core.Message message, @Nullable CorrelationData correlationData) Send a message to the default exchange with a specific routing key.default voidstart()default voidstop()booleanwaitForConfirms(long timeout) Delegate to the underlying dedicated channel to wait forconfirms.voidwaitForConfirmsOrDie(long timeout) Delegate to the underlying dedicated channel to wait for confirms.Methods inherited from interface org.springframework.amqp.core.AmqpTemplate
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, convertSendAndReceiveAsType, receive, receive, receive, receive, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndConvert, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, receiveAndReply, send, send, send, sendAndReceive, sendAndReceive, sendAndReceive
-
Method Details
-
execute
<T> @Nullable T execute(ChannelCallback<? extends @Nullable T> action) throws org.springframework.amqp.AmqpException Execute the callback with a channel and reliably close the channel afterward.- Type Parameters:
T- the return type.- Parameters:
action- the call back.- Returns:
- the result from the
ChannelCallback.doInRabbit(com.rabbitmq.client.Channel). - Throws:
org.springframework.amqp.AmqpException- if one occurs.
-
invoke
default <T> @Nullable T invoke(RabbitOperations.OperationsCallback<? extends @Nullable T> action) throws org.springframework.amqp.AmqpException Invoke the callback and run all operations on the template argument in a dedicated thread-bound channel and reliably close the channel afterward.- Type Parameters:
T- the return type.- Parameters:
action- the call back.- Returns:
- the result from the
RabbitOperations.OperationsCallback.doInRabbit(RabbitOperations operations). - Throws:
org.springframework.amqp.AmqpException- if one occurs.- Since:
- 2.0
-
invoke
<T> @Nullable T invoke(RabbitOperations.OperationsCallback<? extends @Nullable T> action, @Nullable com.rabbitmq.client.ConfirmCallback acks, @Nullable com.rabbitmq.client.ConfirmCallback nacks) Invoke operations on the same channel. If callbacks are needed, both callbacks must be supplied.- Type Parameters:
T- the return type.- Parameters:
action- the callback.acks- a confirm callback for acks.nacks- aconfirmcallback for nacks.- Returns:
- the result of the action method.
- Since:
- 2.1
-
waitForConfirms
boolean waitForConfirms(long timeout) throws org.springframework.amqp.AmqpException Delegate to the underlying dedicated channel to wait forconfirms. The connection factory must be configured for publisherconfirmsand this method must be called within the scope of aninvoke(OperationsCallback)operation. RequiresCachingConnectionFactory#setPublisherConfirms(true).- Parameters:
timeout- the timeout- Returns:
- true if acks and no nacks are received.
- Throws:
org.springframework.amqp.AmqpException- if one occurs.- Since:
- 2.0
- See Also:
-
waitForConfirmsOrDie
void waitForConfirmsOrDie(long timeout) throws org.springframework.amqp.AmqpException Delegate to the underlying dedicated channel to wait for confirms. The connection factory must be configured for publisher confirms and this method must be called within the scope of aninvoke(OperationsCallback)operation. RequiresCachingConnectionFactory#setPublisherConfirms(true).- Parameters:
timeout- the timeout- Throws:
org.springframework.amqp.AmqpException- if one occurs.- Since:
- 2.0
- See Also:
-
getConnectionFactory
ConnectionFactory getConnectionFactory()Return the connection factory for these operations.- Returns:
- the connection factory.
- Since:
- 2.0
-
send
default void send(@Nullable String routingKey, org.springframework.amqp.core.Message message, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Send a message to the default exchange with a specific routing key.- Parameters:
routingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem- Since:
- 2.3
-
send
void send(@Nullable String exchange, @Nullable String routingKey, org.springframework.amqp.core.Message message, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Send a message to a specific exchange with a specific routing key.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
correlationConvertAndSend
void correlationConvertAndSend(Object message, CorrelationData correlationData) throws org.springframework.amqp.AmqpException Convert a Java object to an AmqpMessageand send it to a default exchange with a default routing key.- Parameters:
message- a message to sendcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertAndSend
void convertAndSend(@Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Convert a Java object to an AmqpMessageand send it to a default exchange with a specific routing key.- Parameters:
routingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertAndSend
void convertAndSend(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Convert a Java object to an AmqpMessageand send it to a specific exchange with a specific routing key.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertAndSend
void convertAndSend(Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Convert a Java object to an AmqpMessageand send it to a default exchange with a default routing key.- Parameters:
message- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertAndSend
void convertAndSend(@Nullable String routingKey, Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Convert a Java object to an AmqpMessageand send it to a default exchange with a specific routing key.- Parameters:
routingKey- the routing keymessage- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertAndSend
void convertAndSend(@Nullable String exchange, @Nullable String routingKey, Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Convert a Java object to an AmqpMessageand send it to a specific exchange with a specific routing key.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceive
@Nullable Object convertSendAndReceive(Object message, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a default routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout.- Parameters:
message- a message to send.correlationData- data to correlate publisher confirms.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceive
@Nullable Object convertSendAndReceive(@Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout.- Parameters:
routingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceive
@Nullable Object convertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a specific exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceive
@Nullable Object convertSendAndReceive(Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a default routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout.- Parameters:
message- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceive
@Nullable Object convertSendAndReceive(@Nullable String routingKey, Object message, org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout.- Parameters:
routingKey- the routing keymessage- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceive
@Nullable Object convertSendAndReceive(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a specific exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceiveAsType
<T> @Nullable T convertSendAndReceiveAsType(Object message, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a default routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout. Requires aSmartMessageConverter.- Type Parameters:
T- the type.- Parameters:
message- a message to send.correlationData- data to correlate publisher confirms.responseType- the type to convert the reply to.- Returns:
- the response if there is one.
- Throws:
org.springframework.amqp.AmqpException- if there is a problem.
-
convertSendAndReceiveAsType
<T> @Nullable T convertSendAndReceiveAsType(@Nullable String routingKey, Object message, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout. Requires aSmartMessageConverter.- Type Parameters:
T- the type.- Parameters:
routingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.responseType- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceiveAsType
default <T> @Nullable T convertSendAndReceiveAsType(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a specific exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout. Requires aSmartMessageConverter.- Type Parameters:
T- the type.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- a message to sendcorrelationData- data to correlate publisher confirms.responseType- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceiveAsType
<T> @Nullable T convertSendAndReceiveAsType(Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a default routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout. Requires aSmartMessageConverter.- Type Parameters:
T- the type.- Parameters:
message- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.responseType- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceiveAsType
<T> @Nullable T convertSendAndReceiveAsType(@Nullable String routingKey, Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a default exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout. Requires aSmartMessageConverter.- Type Parameters:
T- the type.- Parameters:
routingKey- the routing keymessage- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.responseType- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
convertSendAndReceiveAsType
<T> @Nullable T convertSendAndReceiveAsType(@Nullable String exchange, @Nullable String routingKey, Object message, @Nullable org.springframework.amqp.core.MessagePostProcessor messagePostProcessor, @Nullable CorrelationData correlationData, org.springframework.core.ParameterizedTypeReference<T> responseType) throws org.springframework.amqp.AmqpException Basic RPC pattern with conversion. Send a Java object converted to a message to a specific exchange with a specific routing key and attempt to receive a response, converting that to a Java object. Implementations will normally set the reply-to header to an exclusive queue and wait up for some time limited by a timeout. Requires aSmartMessageConverter.- Type Parameters:
T- the type.- Parameters:
exchange- the name of the exchangeroutingKey- the routing keymessage- a message to sendmessagePostProcessor- a processor to apply to the message before it is sentcorrelationData- data to correlate publisher confirms.responseType- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
org.springframework.amqp.AmqpException- if there is a problem
-
start
default void start()- Specified by:
startin interfaceorg.springframework.context.Lifecycle
-
stop
default void stop()- Specified by:
stopin interfaceorg.springframework.context.Lifecycle
-
isRunning
default boolean isRunning()- Specified by:
isRunningin interfaceorg.springframework.context.Lifecycle
-