Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NServiceBus with Unity 2.0?

Anyone using NServiceBus 2.0 successfully with Unity 2.0?

I've tried to compile sources of NServiceBus.ObjectBuilder.Unity.dll against Unity 2.0 assemblies but got several compile-time errors because of changed/deleted signatures of many object methods in new Unity.

In the documentation Udi Dahan says that attaching any container is as easy as implementing 5 methods of IContainer. But when i look into NServiceBus.ObjectBuilder.Unity implementation i see that there is a LOT more work to be done. Why it is so?

like image 418
Dmitry Schetnikovich Avatar asked Sep 26 '10 13:09

Dmitry Schetnikovich


1 Answers

Unity, by default, behaves different from what NSB expects. That's why there is a need for some custom extensions to make it compatible with ObjectBuilder contract. There are two major differences:

  • Unity requires DependencyAttribute to inject dependency into the property. NSB expects ObjectBuilder to inject in any property that with matching type
  • When doing property injection unity treats property dependencies as mandatory whereas NSB expects them to be optional.

I believe that these features are preserved in version 2.0 and it will be easy to migrate them. I should have some time this week and I hope I will create a Unity v2 implementation. I'll let you know when it's finished.

Edit: Done. The Unit 2 object builder is in the trunk.

like image 92
Szymon Pobiega Avatar answered Oct 16 '22 07:10

Szymon Pobiega