mdevilliers / SignalR.RabbitMq

MessageBus implementation using RabbitMq as the backing store.
MIT License
89 stars 40 forks source link

Version 0.27.1.216 of EasyNetQ does not work #18

Closed baralong closed 10 years ago

baralong commented 10 years ago

I'm not sure exactly which version of broke things the last one that worked for me was 0.14.4.126. I'm rolling back to that version. EasyNetQ seems pretty volatile when you look at https://www.nuget.org/packages/EasyNetQ it might be worth puting a maximum version that's supported by SignalR.RabbitMq.

I'm getting this problem because EasyNetQ has an "=" dependency on RabbitMQ.Client, and I'd updated that due to an update of MassTransit.RabbitMq

baralong commented 10 years ago

The exception and partial stack trace I got is:

[MissingMethodException: Method not found: 'EasyNetQ.Topology.IQueue EasyNetQ.IAdvancedBus.QueueDeclare(System.String, Boolean, Boolean, Boolean, Boolean, Int32, Int32)'.]
   SignalR.RabbitMQ.EasyNetQRabbitConnection.StartListening() in c:\tc\BuildAgent\work\15efef97ff4fdfff\SignalR.RabbitMQ\EasyNetQRabbitConnection.cs:57
   SignalR.RabbitMQ.RabbitMqMessageBus.ConnectToRabbit() in c:\tc\BuildAgent\work\15efef97ff4fdfff\SignalR.RabbitMQ\RabbitMqMessageBus.cs:104
   SignalR.RabbitMQ.RabbitMqMessageBus..ctor(IDependencyResolver resolver, RabbitMqScaleoutConfiguration configuration, RabbitConnectionBase advancedConnectionInstance) in c:\tc\BuildAgent\work\15efef97ff4fdfff\SignalR.RabbitMQ\RabbitMqMessageBus.cs:61
   SignalR.RabbitMQ.<>c__DisplayClass2.<UseRabbitMq>b__0() in c:\tc\BuildAgent\work\15efef97ff4fdfff\SignalR.RabbitMQ\DependencyResolverExtensions.cs:16
   System.Lazy`1.CreateValue() +180
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +22
   System.Lazy`1.get_Value() +11198577
   SignalR.RabbitMQ.<>c__DisplayClass2.<UseRabbitMq>b__1() in c:\tc\BuildAgent\work\15efef97ff4fdfff\SignalR.RabbitMQ\DependencyResolverExtensions.cs:17
mdevilliers commented 10 years ago

Yeah - the maximum version could be a good thing to have.

I would prefer to update to the "latest and greatest". If I do that it'll look like this -

SignalR.RabbitMQ

EasyNetQ (≥0.27.1.216) RabbitMQ.Client (= 3.2.1.0) Newtonsoft.Json (≥ 4.5)

MassTransit.RabbitMQ (2.9.5)

MassTransit (≥ 2.9.5) RabbitMQ.Client (≥ 3.2.1)

Which looks pretty much lined up. Would that suit you ?

I don't think the code is going to take longer that 5 mins to patch up.

Mark

mdevilliers commented 10 years ago

If you could have a quick look at the EastNetQ branch (link above in the issues list) - you should see the changes I've made.

If you could still confirm the versions above it would be great?

baralong commented 10 years ago

All that looks OK to me. Thanks for the quick turnaround. Those requirements look fine to me.

mdevilliers commented 10 years ago

Cool - all done.

I cheekily updated the version of SignalR to 1.2.1 which I hope is okay with you? Anyway give the new package a go - it's on nuget as 2.2.1 at https://www.nuget.org/packages/SignalR.RabbitMq/

I'll leave the bug open for a few days in case then close it if I don't hear anything untoward.

Mark

mdevilliers commented 10 years ago

I think the latest release is good or at least I haven't heard anything untoward - closing the ticket.