|
|
| Author |
Message |
|
| Guest |
Posted: Tue Jul 01, 2008 3:19 am |
|
|
|
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.
|
|
|
| Back to top |
|
| tonyg |
Posted: Tue Jul 01, 2008 10:41 am |
|
|
|
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 |
|
|
| Back to top |
|
| Guest |
Posted: Tue Jul 01, 2008 11:03 pm |
|
|
|
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.
|
|
|
| Back to top |
|
| tonyg |
Posted: Wed Jul 02, 2008 11:42 am |
|
|
|
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 |
|
|
| Back to top |
|
|
|
All times are GMT
|
|
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
|
|
|