[rabbitmq-discuss] Publisher confirms always wait for consumer ack/nack

Bertrand LEMASLE blemasle at allocine.fr
Thu Jan 23 08:54:29 GMT 2014


"Totally unrelated" : that's what I undestand from the documentation, but
it seems to be what's going on in my case.

"you really need round trip acknowledgment from producer -> broker ->
consumer -> back to producer, you need [...] our simple RPC" : that's
exactly what I don't want in this case !

After some digging, I discovered that my producer and consumer run on the
same thread but they souldn't (for now, producer and consumer run in the
same application). So my consumer thread sleep affects my publisher thread.
That's obviously a flaw in my own design and seems to have nothing to do
with RabbitMQ itself.

Thanks for your concern and your clarification about publisher confirms
which made me think about monitoring running threads and so came onto this !


 <http://www.allocine.fr/> *Bertrand Lemasle*
Software architect

Tél : : blemasle at allocine.fr <xxxxxxx at allocine.fr> Mob.
Adresse : 3, avenue Hoche - 75008 Paris (Hall 1, Etage 5) - Tel : www.purepeople.com - www.allocine.fr - www.puretrend.com -
www.puremedias <http://www.puremedias.com/> - www.purebreak.com
www.terrafemina.com - www.purecharts.fr - www.canalblog.com -
www.pureshopping.fr - www.newsring.fr

2014/1/22 Jerry Kuch <jkuch at gopivotal.com>

> On Wed, Jan 22, 2014 at 9:07 AM, Bertrand LEMASLE <blemasle at allocine.fr>wrote:
>> After reading many docs and mails on this subject (
>> http://www.rabbitmq.com/confirms.html included which explains when a
>> message will be confirmed), I still haven't found an answer to my question.
>> When using publisher confirm (by using confirmSelect on the channel),
>> messages aren't ack until they are either ack or nack by at least one
>> consumer.
> Totally unrelated.  The publisher confirm mechanism only goes so far as
> the transfer of responsibility for a message's well being from the
> *publisher* into the *broker*.
> Receipt of a publisher confirm means the broker has accepted your message
> and done what you asked of it, e.g. persisted it to disk, made sure it was
> replicated to any applicable mirrored queues, etc.
> Consumers consume from queues, and their AMQP Ack mechanism is analogous
> to, in the sense of responsibility transfer, but *totally uncoupled from*
> any publisher confirm happening on the inbound side.
> If you really need round trip acknowledgment from producer -> broker ->
> consumer -> back to producer, you need to build that into your messaging
> workflow as, for example, our simple RPC over AMQP facility does.  You
> might look at the tutorial examples using it, since they may directly fit
> your intended use case.
> Best regards,
> Jerry
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20140123/1722b22d/attachment.html>

More information about the rabbitmq-discuss mailing list