[rabbitmq-discuss] rabbitmq-c for a reliable rabbitmq client in production environment.

TZHA sophiewenxizhang at googlemail.com
Mon Jan 16 10:02:39 GMT 2012


i am working with rabbitmq-c (downloaded from github/newest version -
cmake/VS2010 rebuild under windows) and would like to prepare a
rabbitmq/c/c++ based solution for a production environment.

However for a real application, we still have some reliability
requirements that are apparently not yet supported by rabbitmq-c.

The first requirement is to get “cancellation notification” in case,
e.g. whenever a queue is down – so that the client/consumer can
reconnect to the broker.

For this purpose – as I understood, the client has to send  the
“client-capabilities” with

   consumer_cancel_notify = true,
   publisher_confirms = true

for the connection setup. In  case of of rabbitmq-c, I saw that one
shall set the capabilities in amqp_login (amqp_socket.c)  method.
Current this is set to NULL.

  amqp_connection_open_t s
  s.capabilities.len = 0;
  s.capabilities.bytes = NULL;

Can some expert tell me what kind of syntax can be used for the
s.capabilities.bytes field?

The next requirement is to receive publisher_confirms. I guess that
the client-capabilities is also a pre-condition, and I have to set the
“mandatory” parameter for the amqp_basic_publish method to 1. Is there
anything else I have to set?

Thanks in advance for any advices.

More information about the rabbitmq-discuss mailing list