[rabbitmq-discuss] flow control issues

mabrek mabrek at gmail.com
Fri Sep 24 16:12:10 BST 2010


On Thu, Sep 16, 2010 at 4:49 PM, Marek Majkowski <majek04 at gmail.com> wrote:
> Yes, channels were designed exactly for that. On the other hand, AMQP
> has few pretty serious issues. For example when you open channel
> you're free to publish a message. And broker can't 'refuse' accepting
> a message. Channel.flow can be sent from the broker to the client
> but *after* channel is opened. So there is a window in which
> you just can publish (after channel.open before channel.flow). Sorry, there
> just isn't other way of forbidding publishes than by stopping the whole
> connection. I also don't like it, but it's the only way.

We do need to check stopped state of connection before sending messages.
Please leave some hints to client to decide if it can send messages
without hanging.
Something like 'boolean isPublishingAllowed()' in Channel or timeout
parameter in basicPublish would be fine.

Regards,
Anton Lebedevich.


More information about the rabbitmq-discuss mailing list