Interface ReplyManager
-
- All Known Implementing Classes:
ReplyManagerSupport,TemporaryQueueReplyManager
public interface ReplyManagerTheReplyManageris responsible for handling request-reply over RabbitMQ.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcancelCorrelationId(String correlationId)Unregister a correlationId when you no longer need a replyStringgetReplyTo()Gets the reply to queue being usedvoidprocessReply(ReplyHolder holder)Process the replyStringregisterReply(ReplyManager replyManager, org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback, String originalCorrelationId, String correlationId, long requestTimeout)Register a replyvoidsetEndpoint(RabbitMQEndpoint endpoint)Sets the belongingRabbitMQEndpointvoidsetReplyTo(String replyTo)Sets the reply to queue the manager should listen for replies.voidsetScheduledExecutorService(ScheduledExecutorService executorService)Sets the scheduled to use when checking for timeouts (no reply received within a given time period)voidupdateCorrelationId(String correlationId, String newCorrelationId, long requestTimeout)Updates the correlation id to the new correlation id.
-
-
-
Method Detail
-
setEndpoint
void setEndpoint(RabbitMQEndpoint endpoint)
Sets the belongingRabbitMQEndpoint
-
setReplyTo
void setReplyTo(String replyTo)
Sets the reply to queue the manager should listen for replies. The queue is either a temporary or a persistent queue.
-
getReplyTo
String getReplyTo()
Gets the reply to queue being used
-
registerReply
String registerReply(ReplyManager replyManager, org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback, String originalCorrelationId, String correlationId, long requestTimeout)
Register a reply- Parameters:
replyManager- the reply manager being usedexchange- the exchangecallback- the callbackoriginalCorrelationId- an optional original correlation idcorrelationId- the correlation id to expect being usedrequestTimeout- the timeout- Returns:
- the correlation id used
-
setScheduledExecutorService
void setScheduledExecutorService(ScheduledExecutorService executorService)
Sets the scheduled to use when checking for timeouts (no reply received within a given time period)
-
updateCorrelationId
void updateCorrelationId(String correlationId, String newCorrelationId, long requestTimeout)
Updates the correlation id to the new correlation id. This is only used when useMessageIDasCorrelationID option is used, which means a provisional correlation id is first used, then after the message has been sent, the real correlation id is known. This allows us then to update the internal mapping to expect the real correlation id.- Parameters:
correlationId- the provisional correlation idnewCorrelationId- the real correlation idrequestTimeout- the timeout
-
processReply
void processReply(ReplyHolder holder)
Process the reply- Parameters:
holder- containing needed data to process the reply and continue routing
-
cancelCorrelationId
void cancelCorrelationId(String correlationId)
Unregister a correlationId when you no longer need a reply
-
-