Class ReplyHolder


  • public class ReplyHolder
    extends Object
    Holder which contains the Exchange and AsyncCallback to be used when the reply arrives, so we can set the reply on the Exchange and continue routing using the callback.
    • Constructor Detail

      • ReplyHolder

        public ReplyHolder​(org.apache.camel.Exchange exchange,
                           org.apache.camel.AsyncCallback callback,
                           String originalCorrelationId,
                           String correlationId,
                           com.rabbitmq.client.AMQP.BasicProperties properties,
                           byte[] message)
        Constructor to use when a reply message was received
      • ReplyHolder

        public ReplyHolder​(org.apache.camel.Exchange exchange,
                           org.apache.camel.AsyncCallback callback,
                           String originalCorrelationId,
                           String correlationId,
                           long timeout)
        Constructor to use when a timeout occurred
    • Method Detail

      • getExchange

        public org.apache.camel.Exchange getExchange()
      • getCallback

        public org.apache.camel.AsyncCallback getCallback()
      • getOriginalCorrelationId

        public String getOriginalCorrelationId()
        Gets the original correlation id, if one was set when sending the message.

        Some JMS brokers will mess with the correlation id and send back a different/empty correlation id. So we need to remember it so we can restore the correlation id.

      • getMessage

        public byte[] getMessage()
        Gets the received message
        Returns:
        the received message, or null if timeout occurred and no message has been received
        See Also:
        isTimeout()
      • isTimeout

        public boolean isTimeout()
        Whether timeout triggered or not.

        A timeout is triggered if requestTimeout option has been configured, and a reply message has not been received within that time frame.

      • getRequestTimeout

        public long getRequestTimeout()
        The timeout value
      • getProperties

        public com.rabbitmq.client.AMQP.BasicProperties getProperties()
        The message properties