[rabbitmq-discuss] Using C# client libraries and channel close

Matthias Radestock matthias at lshift.net
Wed Apr 8 08:38:33 BST 2009


Steve Weaver wrote:
> I have multiple clients that are sending messages 
> using Basic Publish and the C# library.  They are all sending 
> sporadically so they just open a channel send the message, get an 
> acknowledgment, and close the channel.

Can you post the code for this?

> Everything is fine until the queue gets to about its 900 or so
> open/publish/close sessions and then the rabbit server just fails
> with that 'bad rpc' error when you try to stop or get a status. From
> watching it there seems to be a problem with the channel not actually
> closing on the rabbitmq side (using some network tools) so assuming
> it can only have x amount of connections open.

In AMQP terminology, a single network connection contains multiple 
channels. If you close the channel without closing the connection then 
the latter will remain open. That's not a problem though if in your test 
you subsequently use that existing connection to open/close more 
channels. Also, even if you opened new connections every time (without 
closing the old ones) you should get way more than 900 open connections 
before hitting any rabbit/erlang limits.

Hopefully all will become clear when I can take a look at the code.


More information about the rabbitmq-discuss mailing list