Package org.springframework.amqp.core
Interface AmqpTemplate
-
- All Known Subinterfaces:
RabbitOperations
- All Known Implementing Classes:
BatchingRabbitTemplate
,RabbitTemplate
,TestRabbitTemplate
public interface AmqpTemplate
Specifies a basic set of AMQP operations. Provides synchronous send and receive methods. TheconvertAndSend(Object)
andreceiveAndConvert()
methods allow let you send and receive POJO objects. Implementations are expected to delegate to an instance ofMessageConverter
to perform conversion to and from AMQP byte[] payload type.- Author:
- Mark Pollack, Mark Fisher, Artem Bilan, Ernest Sadykov, Gary Russell
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
convertAndSend(java.lang.Object message)
Convert a Java object to an AmqpMessage
and send it to a default exchange with a default routing key.void
convertAndSend(java.lang.Object message, MessagePostProcessor messagePostProcessor)
Convert a Java object to an AmqpMessage
and send it to a default exchange with a default routing key.void
convertAndSend(java.lang.String routingKey, java.lang.Object message)
Convert a Java object to an AmqpMessage
and send it to a default exchange with a specific routing key.void
convertAndSend(java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor)
Convert a Java object to an AmqpMessage
and send it to a default exchange with a specific routing key.void
convertAndSend(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message)
Convert a Java object to an AmqpMessage
and send it to a specific exchange with a specific routing key.void
convertAndSend(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor)
Convert a Java object to an AmqpMessage
and send it to a specific exchange with a specific routing key.java.lang.Object
convertSendAndReceive(java.lang.Object message)
Basic RPC pattern with conversion.java.lang.Object
convertSendAndReceive(java.lang.Object message, MessagePostProcessor messagePostProcessor)
Basic RPC pattern with conversion.java.lang.Object
convertSendAndReceive(java.lang.String routingKey, java.lang.Object message)
Basic RPC pattern with conversion.java.lang.Object
convertSendAndReceive(java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor)
Basic RPC pattern with conversion.java.lang.Object
convertSendAndReceive(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message)
Basic RPC pattern with conversion.java.lang.Object
convertSendAndReceive(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor)
Basic RPC pattern with conversion.<T> T
convertSendAndReceiveAsType(java.lang.Object message, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<T> responseType)
Basic RPC pattern with conversion.<T> T
convertSendAndReceiveAsType(java.lang.Object message, ParameterizedTypeReference<T> responseType)
Basic RPC pattern with conversion.<T> T
convertSendAndReceiveAsType(java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<T> responseType)
Basic RPC pattern with conversion.<T> T
convertSendAndReceiveAsType(java.lang.String routingKey, java.lang.Object message, ParameterizedTypeReference<T> responseType)
Basic RPC pattern with conversion.<T> T
convertSendAndReceiveAsType(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<T> responseType)
Basic RPC pattern with conversion.<T> T
convertSendAndReceiveAsType(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, ParameterizedTypeReference<T> responseType)
Basic RPC pattern with conversion.Message
receive()
Receive a message if there is one from a default queue.Message
receive(long timeoutMillis)
Receive a message from a default queue, waiting up to the specified wait time if necessary for a message to become available.Message
receive(java.lang.String queueName)
Receive a message if there is one from a specific queue.Message
receive(java.lang.String queueName, long timeoutMillis)
Receive a message from a specific queue, waiting up to the specified wait time if necessary for a message to become available.java.lang.Object
receiveAndConvert()
Receive a message if there is one from a default queue and convert it to a Java object.java.lang.Object
receiveAndConvert(long timeoutMillis)
Receive a message if there is one from a default queue and convert it to a Java object.<T> T
receiveAndConvert(long timeoutMillis, ParameterizedTypeReference<T> type)
Receive a message if there is one from a default queue and convert it to a Java object.java.lang.Object
receiveAndConvert(java.lang.String queueName)
Receive a message if there is one from a specific queue and convert it to a Java object.java.lang.Object
receiveAndConvert(java.lang.String queueName, long timeoutMillis)
Receive a message if there is one from a specific queue and convert it to a Java object.<T> T
receiveAndConvert(java.lang.String queueName, long timeoutMillis, ParameterizedTypeReference<T> type)
Receive a message if there is one from a specific queue and convert it to a Java object.<T> T
receiveAndConvert(java.lang.String queueName, ParameterizedTypeReference<T> type)
Receive a message if there is one from a specific queue and convert it to a Java object.<T> T
receiveAndConvert(ParameterizedTypeReference<T> type)
Receive a message if there is one from a default queue and convert it to a Java object.<R,S>
booleanreceiveAndReply(java.lang.String queueName, ReceiveAndReplyCallback<R,S> callback)
Receive a message if there is one from provided queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
fromMessageProperties
or to default exchange and default routingKey.<R,S>
booleanreceiveAndReply(java.lang.String queueName, ReceiveAndReplyCallback<R,S> callback, java.lang.String replyExchange, java.lang.String replyRoutingKey)
Receive a message if there is one from provided queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to the providedexchange
androutingKey
.<R,S>
booleanreceiveAndReply(java.lang.String queueName, ReceiveAndReplyCallback<R,S> callback, ReplyToAddressCallback<S> replyToAddressCallback)
Receive a message if there is one from provided queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
from result ofReplyToAddressCallback
.<R,S>
booleanreceiveAndReply(ReceiveAndReplyCallback<R,S> callback)
Receive a message if there is one from a default queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
fromMessageProperties
or to default exchange and default routingKey.<R,S>
booleanreceiveAndReply(ReceiveAndReplyCallback<R,S> callback, java.lang.String replyExchange, java.lang.String replyRoutingKey)
Receive a message if there is one from default queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to the providedexchange
androutingKey
.<R,S>
booleanreceiveAndReply(ReceiveAndReplyCallback<R,S> callback, ReplyToAddressCallback<S> replyToAddressCallback)
Receive a message if there is one from a default queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
from result ofReplyToAddressCallback
.void
send(java.lang.String exchange, java.lang.String routingKey, Message message)
Send a message to a specific exchange with a specific routing key.void
send(java.lang.String routingKey, Message message)
Send a message to a default exchange with a specific routing key.void
send(Message message)
Send a message to a default exchange with a default routing key.Message
sendAndReceive(java.lang.String exchange, java.lang.String routingKey, Message message)
Basic RPC pattern.Message
sendAndReceive(java.lang.String routingKey, Message message)
Basic RPC pattern.Message
sendAndReceive(Message message)
Basic RPC pattern.
-
-
-
Method Detail
-
send
void send(Message message) throws AmqpException
Send a message to a default exchange with a default routing key.- Parameters:
message
- a message to send- Throws:
AmqpException
- if there is a problem
-
send
void send(java.lang.String routingKey, Message message) throws AmqpException
Send a message to a default exchange with a specific routing key.- Parameters:
routingKey
- the routing keymessage
- a message to send- Throws:
AmqpException
- if there is a problem
-
send
void send(java.lang.String exchange, java.lang.String routingKey, Message message) throws 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 send- Throws:
AmqpException
- if there is a problem
-
convertAndSend
void convertAndSend(java.lang.Object message) throws AmqpException
Convert a Java object to an AmqpMessage
and send it to a default exchange with a default routing key.- Parameters:
message
- a message to send- Throws:
AmqpException
- if there is a problem
-
convertAndSend
void convertAndSend(java.lang.String routingKey, java.lang.Object message) throws AmqpException
Convert a Java object to an AmqpMessage
and send it to a default exchange with a specific routing key.- Parameters:
routingKey
- the routing keymessage
- a message to send- Throws:
AmqpException
- if there is a problem
-
convertAndSend
void convertAndSend(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message) throws AmqpException
Convert a Java object to an AmqpMessage
and send it to a specific exchange with a specific routing key.- Parameters:
exchange
- the name of the exchangeroutingKey
- the routing keymessage
- a message to send- Throws:
AmqpException
- if there is a problem
-
convertAndSend
void convertAndSend(java.lang.Object message, MessagePostProcessor messagePostProcessor) throws AmqpException
Convert a Java object to an AmqpMessage
and 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 sent- Throws:
AmqpException
- if there is a problem
-
convertAndSend
void convertAndSend(java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor) throws AmqpException
Convert a Java object to an AmqpMessage
and 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 sent- Throws:
AmqpException
- if there is a problem
-
convertAndSend
void convertAndSend(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor) throws AmqpException
Convert a Java object to an AmqpMessage
and 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 sent- Throws:
AmqpException
- if there is a problem
-
receive
@Nullable Message receive() throws AmqpException
Receive a message if there is one from a default queue. Returns immediately, possibly with a null value.- Returns:
- a message or null if there is none waiting
- Throws:
AmqpException
- if there is a problem
-
receive
@Nullable Message receive(java.lang.String queueName) throws AmqpException
Receive a message if there is one from a specific queue. Returns immediately, possibly with a null value.- Parameters:
queueName
- the name of the queue to poll- Returns:
- a message or null if there is none waiting
- Throws:
AmqpException
- if there is a problem
-
receive
@Nullable Message receive(long timeoutMillis) throws AmqpException
Receive a message from a default queue, waiting up to the specified wait time if necessary for a message to become available.- Parameters:
timeoutMillis
- how long to wait before giving up. Zero value means the method will returnnull
immediately if there is no message available. Negative value makes method wait for a message indefinitely.- Returns:
- a message or null if the time expires
- Throws:
AmqpException
- if there is a problem- Since:
- 1.6
-
receive
@Nullable Message receive(java.lang.String queueName, long timeoutMillis) throws AmqpException
Receive a message from a specific queue, waiting up to the specified wait time if necessary for a message to become available.- Parameters:
queueName
- the queue to receive fromtimeoutMillis
- how long to wait before giving up. Zero value means the method will returnnull
immediately if there is no message available. Negative value makes method wait for a message indefinitely.- Returns:
- a message or null if the time expires
- Throws:
AmqpException
- if there is a problem- Since:
- 1.6
-
receiveAndConvert
@Nullable java.lang.Object receiveAndConvert() throws AmqpException
Receive a message if there is one from a default queue and convert it to a Java object. Returns immediately, possibly with a null value.- Returns:
- a message or null if there is none waiting
- Throws:
AmqpException
- if there is a problem
-
receiveAndConvert
@Nullable java.lang.Object receiveAndConvert(java.lang.String queueName) throws AmqpException
Receive a message if there is one from a specific queue and convert it to a Java object. Returns immediately, possibly with a null value.- Parameters:
queueName
- the name of the queue to poll- Returns:
- a message or null if there is none waiting
- Throws:
AmqpException
- if there is a problem
-
receiveAndConvert
@Nullable java.lang.Object receiveAndConvert(long timeoutMillis) throws AmqpException
Receive a message if there is one from a default queue and convert it to a Java object. Wait up to the specified wait time if necessary for a message to become available.- Parameters:
timeoutMillis
- how long to wait before giving up. Zero value means the method will returnnull
immediately if there is no message available. Negative value makes method wait for a message indefinitely.- Returns:
- a message or null if the time expires
- Throws:
AmqpException
- if there is a problem- Since:
- 1.6
-
receiveAndConvert
@Nullable java.lang.Object receiveAndConvert(java.lang.String queueName, long timeoutMillis) throws AmqpException
Receive a message if there is one from a specific queue and convert it to a Java object. Wait up to the specified wait time if necessary for a message to become available.- Parameters:
queueName
- the name of the queue to polltimeoutMillis
- how long to wait before giving up. Zero value means the method will returnnull
immediately if there is no message available. Negative value makes method wait for a message indefinitely.- Returns:
- a message or null if the time expires
- Throws:
AmqpException
- if there is a problem- Since:
- 1.6
-
receiveAndConvert
@Nullable <T> T receiveAndConvert(ParameterizedTypeReference<T> type) throws AmqpException
Receive a message if there is one from a default queue and convert it to a Java object. Returns immediately, possibly with a null value. Requires aSmartMessageConverter
.- Type Parameters:
T
- the type.- Parameters:
type
- the type to convert to.- Returns:
- a message or null if there is none waiting.
- Throws:
AmqpException
- if there is a problem.- Since:
- 2.0
-
receiveAndConvert
@Nullable <T> T receiveAndConvert(java.lang.String queueName, ParameterizedTypeReference<T> type) throws AmqpException
Receive a message if there is one from a specific queue and convert it to a Java object. Returns immediately, possibly with a null value. Requires aSmartMessageConverter
.- Type Parameters:
T
- the type.- Parameters:
queueName
- the name of the queue to polltype
- the type to convert to.- Returns:
- a message or null if there is none waiting
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
receiveAndConvert
@Nullable <T> T receiveAndConvert(long timeoutMillis, ParameterizedTypeReference<T> type) throws AmqpException
Receive a message if there is one from a default queue and convert it to a Java object. Wait up to the specified wait time if necessary for a message to become available. Requires aSmartMessageConverter
.- Type Parameters:
T
- the type.- Parameters:
timeoutMillis
- how long to wait before giving up. Zero value means the method will returnnull
immediately if there is no message available. Negative value makes method wait for a message indefinitely.type
- the type to convert to.- Returns:
- a message or null if the time expires
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
receiveAndConvert
@Nullable <T> T receiveAndConvert(java.lang.String queueName, long timeoutMillis, ParameterizedTypeReference<T> type) throws AmqpException
Receive a message if there is one from a specific queue and convert it to a Java object. Wait up to the specified wait time if necessary for a message to become available. Requires aSmartMessageConverter
.- Type Parameters:
T
- the type.- Parameters:
queueName
- the name of the queue to polltimeoutMillis
- how long to wait before giving up. Zero value means the method will returnnull
immediately if there is no message available. Negative value makes method wait for a message indefinitely.type
- the type to convert to.- Returns:
- a message or null if the time expires
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
receiveAndReply
<R,S> boolean receiveAndReply(ReceiveAndReplyCallback<R,S> callback) throws AmqpException
Receive a message if there is one from a default queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
fromMessageProperties
or to default exchange and default routingKey.- Type Parameters:
R
- The type of the request after conversion from theMessage
.S
- The type of the response.- Parameters:
callback
- a user-providedReceiveAndReplyCallback
implementation to process received message and return a reply message.- Returns:
true
, if message was received- Throws:
AmqpException
- if there is a problem
-
receiveAndReply
<R,S> boolean receiveAndReply(java.lang.String queueName, ReceiveAndReplyCallback<R,S> callback) throws AmqpException
Receive a message if there is one from provided queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
fromMessageProperties
or to default exchange and default routingKey.- Type Parameters:
R
- The type of the request after conversion from theMessage
.S
- The type of the response.- Parameters:
queueName
- the queue name to receive a message.callback
- a user-providedReceiveAndReplyCallback
implementation to process received message and return a reply message.- Returns:
true
, if message was received.- Throws:
AmqpException
- if there is a problem.
-
receiveAndReply
<R,S> boolean receiveAndReply(ReceiveAndReplyCallback<R,S> callback, java.lang.String replyExchange, java.lang.String replyRoutingKey) throws AmqpException
Receive a message if there is one from default queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to the providedexchange
androutingKey
.- Type Parameters:
R
- The type of the request after conversion from theMessage
.S
- The type of the response.- Parameters:
callback
- a user-providedReceiveAndReplyCallback
implementation to process received message and return a reply message.replyExchange
- the exchange name to send reply message.replyRoutingKey
- the routing key to send reply message.- Returns:
true
, if message was received.- Throws:
AmqpException
- if there is a problem.
-
receiveAndReply
<R,S> boolean receiveAndReply(java.lang.String queueName, ReceiveAndReplyCallback<R,S> callback, java.lang.String replyExchange, java.lang.String replyRoutingKey) throws AmqpException
Receive a message if there is one from provided queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to the providedexchange
androutingKey
.- Type Parameters:
R
- The type of the request after conversion from theMessage
.S
- The type of the response.- Parameters:
queueName
- the queue name to receive a message.callback
- a user-providedReceiveAndReplyCallback
implementation to process received message and return a reply message.replyExchange
- the exchange name to send reply message.replyRoutingKey
- the routing key to send reply message.- Returns:
true
, if message was received- Throws:
AmqpException
- if there is a problem
-
receiveAndReply
<R,S> boolean receiveAndReply(ReceiveAndReplyCallback<R,S> callback, ReplyToAddressCallback<S> replyToAddressCallback) throws AmqpException
Receive a message if there is one from a default queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
from result ofReplyToAddressCallback
.- Type Parameters:
R
- The type of the request after conversion from theMessage
.S
- The type of the response.- Parameters:
callback
- a user-providedReceiveAndReplyCallback
implementation to process received message and return a reply message.replyToAddressCallback
- the callback to determine replyTo address at runtime.- Returns:
true
, if message was received.- Throws:
AmqpException
- if there is a problem.
-
receiveAndReply
<R,S> boolean receiveAndReply(java.lang.String queueName, ReceiveAndReplyCallback<R,S> callback, ReplyToAddressCallback<S> replyToAddressCallback) throws AmqpException
Receive a message if there is one from provided queue, invoke providedReceiveAndReplyCallback
and send reply message, if thecallback
returns one, to thereplyTo
Address
from result ofReplyToAddressCallback
.- Type Parameters:
R
- The type of the request after conversion from theMessage
.S
- The type of the response.- Parameters:
queueName
- the queue name to receive a message.callback
- a user-providedReceiveAndReplyCallback
implementation to process received message and return a reply message.replyToAddressCallback
- the callback to determine replyTo address at runtime.- Returns:
true
, if message was received- Throws:
AmqpException
- if there is a problem
-
sendAndReceive
@Nullable Message sendAndReceive(Message message) throws AmqpException
Basic RPC pattern. Send a message to a default exchange with a default routing key and attempt to receive a response. 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- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
sendAndReceive
@Nullable Message sendAndReceive(java.lang.String routingKey, Message message) throws AmqpException
Basic RPC pattern. Send a message to a default exchange with a specific routing key and attempt to receive a response. 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 send- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
sendAndReceive
@Nullable Message sendAndReceive(java.lang.String exchange, java.lang.String routingKey, Message message) throws AmqpException
Basic RPC pattern. Send a message to a specific exchange with a specific routing key and attempt to receive a response. 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 send- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
convertSendAndReceive
@Nullable java.lang.Object convertSendAndReceive(java.lang.Object message) throws 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- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
convertSendAndReceive
@Nullable java.lang.Object convertSendAndReceive(java.lang.String routingKey, java.lang.Object message) throws 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 send- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
convertSendAndReceive
@Nullable java.lang.Object convertSendAndReceive(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message) throws 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 send- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
convertSendAndReceive
@Nullable java.lang.Object convertSendAndReceive(java.lang.Object message, MessagePostProcessor messagePostProcessor) throws 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 sent- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
convertSendAndReceive
@Nullable java.lang.Object convertSendAndReceive(java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor) throws 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 sent- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
convertSendAndReceive
@Nullable java.lang.Object convertSendAndReceive(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor) throws 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 sent- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem
-
convertSendAndReceiveAsType
@Nullable <T> T convertSendAndReceiveAsType(java.lang.Object message, ParameterizedTypeReference<T> responseType) throws 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.responseType
- the type to convert the reply to.- Returns:
- the response if there is one.
- Throws:
AmqpException
- if there is a problem.- Since:
- 2.0
-
convertSendAndReceiveAsType
@Nullable <T> T convertSendAndReceiveAsType(java.lang.String routingKey, java.lang.Object message, ParameterizedTypeReference<T> responseType) throws 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 sendresponseType
- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
convertSendAndReceiveAsType
@Nullable <T> T convertSendAndReceiveAsType(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, ParameterizedTypeReference<T> responseType) throws 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 sendresponseType
- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
convertSendAndReceiveAsType
@Nullable <T> T convertSendAndReceiveAsType(java.lang.Object message, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<T> responseType) throws 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 sentresponseType
- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
convertSendAndReceiveAsType
@Nullable <T> T convertSendAndReceiveAsType(java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<T> responseType) throws 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 sentresponseType
- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
convertSendAndReceiveAsType
@Nullable <T> T convertSendAndReceiveAsType(java.lang.String exchange, java.lang.String routingKey, java.lang.Object message, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<T> responseType) throws 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 sentresponseType
- the type to convert the reply to.- Returns:
- the response if there is one
- Throws:
AmqpException
- if there is a problem- Since:
- 2.0
-
-