Have A create a temporary queue. A sends B the "are you there?" message, with
the "JMSReplyTo" message property set to the temporary queue.  After sending
the message on the main queue, A turns around and issues a receive on the
temporary queue, w/the appropriate timeout, to await the reply from B. You
may also want to have the message expire. 

In the meantime,  if B is there, it receives the message checks for
JMSReplyTo, then sends back, "yes, i am here" ackowledgment. If B is not
there, A's receive times out and the "are you there" message expires. 

Hope this helps,
Joe

 

uma_rk wrote:
> 
> 
> I have two entities on either side of a queue. Entity A needs to do a 
> synchronous "are you there?" on the queue and receive a response
> synchronously from Entity B.
> 
> I thought I'd do this:
>   - Define a Queue "Are you there" and dispatchAsync = false
>   - create a session with CLIENT_ACK set
>   - send "are you there" message to the queue
> 
> The receiver would acknowledge the message in the onMessage()
> method. 
> 
> However, I would like for the sender to time out if the ack is not
> received 
> within a specified time. I see no option to do this which is obvious.
> How do I make sure that a synchronous send times out if the response
> is not received within a specified interval?
> 
> Regards
> 
> /U
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Synchronous-%22Are-you-there-%22-using-JMS-tf4209545s2354.html#a11981707
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to