[rabbitmq-discuss] Help tracking down disconnection locations in code
Simon MacMullen
simon at rabbitmq.com
Fri May 13 12:21:32 BST 2011
On 12/05/11 18:12, Gavin M. Roy wrote:
> I am looking to enumerate in Pika the places or reasons that RabbitMQ
> may disconnect the client connection. There's the case of bad
> credentials and permission issues with the vhost for example. Is there a
> common module/function called within the RabbitMQ source to handle these
> types of disconnects?
In pretty much every case an #amqp_error{} record will be constructed,
then thrown as an exception. #amqp_error{} is in general constructed and
thrown by a call to rabbit_misc:protocol_error(), so that's probably the
best thing to look for.
Note that some AMQP exceptions lead to connections being disconnected
("hard" errors) while some lead to channels being disconnected ("soft"
errors). Both go through rabbit_misc:protocol_error(). The 0-9-1 XML
spec lists which are which (under "CONSTANTS", near the top).
Can I ask why you want to know though? In general the spec document
lists the error codes that can occur, and each error should be
accompanied by a descriptive text. The only exception is for errors that
happen while the connection is being established (is that what you're
asking about? - in which case I think it's permissions as you already
know, framing errors and internal errors.)
Cheers, Simon
--
Simon MacMullen
Staff Engineer, RabbitMQ
SpringSource, a division of VMware
More information about the rabbitmq-discuss
mailing list