4

With EasyNetQ v0.63.0.448, RabbitMqClient v4.0.2 and RabbitMq server 3.6.5 when I try to create a bus like so...

   bus = RabbitHutch.CreateBus(new ConnectionConfiguration()
            {
                Hosts = new[] { new HostConfiguration() { Host = hostName, Port = port } },
                UserName = username,
                Password = password,
            }, x => { }).Advanced;

I'm getting the Error:

"Field Not Found 'RabbitMQ.Client.ConnectionFactory.AutomaticRecoveryEnabled'."

Is this an underlying incompatibility between easynetq and this version of Rabbit or is there a change in the API somewhere that I need to reflect?

gmn
  • 4,199
  • 4
  • 24
  • 46

1 Answers1

7

It looks like that version of EasyNetQ is compiled against version 3.6.0 of RabbitMQ. In version 4 of RabbitMQ, AutomaticRecoveryEnabled and some other fields in ConnectionFactory were changed to properties which is a breaking change.

Until EasyNetQ is recompiled using version 4 of RabbitMQ you will have to use an older version of RabbitMQ - 3.6.5 seems to work for me.

kevev22
  • 3,737
  • 21
  • 32
  • This solved it for me. Nuget automatically updated my app to use RabbitMQ.Client 4.1.0 which doesn't work with my app. I rolled back to 3.6.5 and everything was good again. – Doug Wilson Sep 16 '16 at 18:51
  • This is unfortunate, as version 4.1 has some serious performance enhancements (https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/251). – pardahlman Oct 20 '16 at 06:40