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.