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,
                           javax.jms.Message message,
                           javax.jms.Session session)
        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 javax.jms.Message getMessage()
        Gets the received message
        Returns:
        the received message, or null if timeout occurred and no message has been received
        See Also:
        isTimeout()
      • getSession

        public javax.jms.Session getSession()
        Gets the JMS session from the received message
        Returns:
        the JMS session, 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