Erlang/OTP Forums

Author Message

<  RabbitMQ mailing list  ~  ACK modes in the STOMP adapter

Guest
Posted: Tue Jul 01, 2008 3:19 am Reply with quote
Guest
It seems the STOMP adapter does not support ack modes (http://stomp.codehaus.org/Ack+Modes). If I subscribe to a queue using ack: client, I continue to get additional messages from the queue, even before I respond with an ACK for the original message.

tonyg
Posted: Tue Jul 01, 2008 10:41 am Reply with quote
User Joined: 07 Nov 2006 Posts: 199
Hi Aman,

It does support "ack: client", but acknowledgements are not used to
perform flow control: instead, they can be used to arrange for
at-least-once deliveries.

Essentially, "ack: client" is translated into setting "noack" to "false"
on the "basic.consume" AMQP method that results from a STOMP "SUBSCRIBE"
operation. Please see the AMQP specification for the semantics of the
"noack" flag.

Regards,
Tony


Aman Gupta wrote:
> It seems the STOMP adapter does not support ack modes
> (http://stomp.codehaus.org/Ack+Modes). If I subscribe to a queue using
> ack: client, I continue to get additional messages from the queue, even
> before I respond with an ACK for the original message.
>
> Aman Gupta
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: tonyg@lshift.net

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist
View user's profile Send private message MSN Messenger
Guest
Posted: Tue Jul 01, 2008 11:03 pm Reply with quote
Guest
Is there a way to handle flow control? I would like rabbitmq to stop sending me new messages until I am done processing old ones, so that new messages don't get lost.

tonyg
Posted: Wed Jul 02, 2008 11:42 am Reply with quote
User Joined: 07 Nov 2006 Posts: 199
Hi Aman,

Aman Gupta wrote:
> Is there a way to handle flow control? I would like rabbitmq to stop
> sending me new messages until I am done processing old ones, so that new
> messages don't get lost.

At present, no, there's no explicit flow control mechanism.

One option might be to extend the STOMP adapter with an equivalent of
AMQP's "basic.get" method, which retrieves a single message at a time
from a queue, without using a subscription.

However, it's worth pointing out that messages are *not* lost if you
choose "ack: client" mode. Instead, if the connection is dropped with
unACKed messages outstanding on it, the unACKed messages are requeued
and redelivered to the next consumer that comes along.

This redelivery behaviour, in conjunction with TCP's built-in window
management, means that a crude form of flow control is simply to stop
reading from the socket. When the buffers fill up at each end, the
RabbitMQ server will notice, and will stop feeding the busy connection.

Regards,
Tony
--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: tonyg@lshift.net

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist
View user's profile Send private message MSN Messenger

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum