RabbitMq client with self-recovery