activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mario Siegenthaler" <msiegentha...@inventsoft.ch>
Subject Re: Synchronous "Are you there?" using JMS
Date Thu, 02 Aug 2007 23:51:55 GMT
Just a thought, but why don't you use a topic for this? I think a
queue will cause problems because the message will be stored. So the
"I'm here" thing would possibly refer to an older question and would
no longer be relevant.
Hm, just reread your question, and realized that you directly want to
process the clients ack. I don't think that'll work. How'd you receive
the ack? Maybe a possiblity would be to define a max
queue/topic-buffer size of 1 and then the send would block until the
message is received. Another way would be to actually send a response
and the asker would just wait for a different message on a temporary
queue/topic. There's some utility in the JMS-API to do that.. sadly I
can never it's name.

Mario

On 8/3/07, uma_rk@comcast.net <uma_rk@comcast.net> 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
>
>
>

Mime
View raw message