Hi Peter,

Yes.. Unfortunately this is how asynchronous messaging works.  There
is no way around it unless you switch to a request/reply model like
HTTP uses.  But then you loose all the performance gains that a
asynchronous model provides!

If your application is single threaded, you should place those
unexpected messages into a buffer while your are polling for your
response.  Then when your application does a receive(), it should
first check that buffer for messages and nothing is there, then it
should wait on the socket for dispatched messages.


On 8/22/06, blueshed <[EMAIL PROTECTED]> wrote:

Yup, the prefetchSize is 1 - but still I get back the MESSAGE before the
RECEIPT. The ACK is required before more messages such as RECEIPT can come
through.

Perhaps this will explain:

->CONNECTED
<-SUBSCRIBE
->MESSAGE
<-ACK
->RECEIPT(SUBSCRIBE)
->RECIEPT(ACK)

I hoped I could run it like this:

->CONNECTED
<-SUBSCRIBE
->RECEIPT(SUBSCRIBE)
->MESSAGE
<-ACK
->RECIEPT(ACK)

PeterB
PS. Thanks for getting back to first mail so quickly.





James.Strachan wrote:
>
> If you set the prefetchSize to 1 then you will only be given 1 message
> by your subscription so that you can ACK the message, then you'll be
> given another message etc.
>
> http://incubator.apache.org/activemq/stomp.html
>
> e.g. add the following header
>
> activemq.prefetchSize: 1
>
> More background here
> http://incubator.apache.org/activemq/what-is-the-prefetch-limit-for.html
>
> On 8/22/06, blueshed <[EMAIL PROTECTED]> wrote:
>>
>> I have built an asynchronous stomp client that works well enough. I tried
>> to
>> introduce a synchronous stomp client but came across a problem: reciepts
>> are
>> sent out of order. When I send a SUBCRIBE I get a MESSAGE back before the
>> RECEIPT - the MESSAGE requires an ACK before I get any more messages. The
>> ACK too requests a RECEIPT and then two RECEIPTS come back. I would like
>> my
>> Stomp Client to work with Twisted Python and it is single threaded. I
>> would
>> like to work with messages in order with as little state as possible. Any
>> thoughts? Could message consumption on the server complete the
>> consumption
>> before sending more messages?
>> --
>> View this message in context:
>> http://www.nabble.com/Stomp-Receipts-tf2145063.html#a5921824
>> Sent from the ActiveMQ - User forum at Nabble.com.
>>
>>
>
>
> --
>
> James
> -------
> http://radio.weblogs.com/0112098/
>
>

--
View this message in context: 
http://www.nabble.com/Stomp-Receipts-tf2145063.html#a5924444
Sent from the ActiveMQ - User forum at Nabble.com.




--
Regards,
Hiram

Blog: http://hiramchirino.com

Reply via email to