Nservice bus upgrade

Hi , Currently I am working on a project with multiple endpoint configured with unicast messaging sagas . We are using NSB 2.0 with MSMQ . Now we are planning to upgrade to latest version 7.x . As per documentation a lot has been changed , so I am looking for some valuable instruction from the community .
Thanks in advance.

There is a lot of “upgrading” documentation available, but I’m afraid that starts with moving from V3 to V4: https://docs.particular.net/nservicebus/upgrades/3to4.

2 Likes

Going from version 2 to version 7 is going to be quite an undertaking. Is there any chance of doing an endpoint-by-endpoint rewrite to go straight to V7? It will depend on how your current endpoints are designed.

If that’s not possible, the only recommendation is to upgrade version by version. So upgrade to version 3, then 4, then 5, then 6, and finally to 7. It’s going to be a long process unfortunately.

1 Like

Thanks for the reply

Currently we have approx 10 endpoints with NServiceBus host and one with mvc web application. We are using spring.net for DI and NHibernate for ORM.

Recently we have undertaken a project to upgrade .NET framework to 4.7.2. As part of this initiative we are thinking of upgrading NService Bus also . Purpose of upgrading Nservice bus is to utilize some of the latest features which will help to improve performance ,scalability and monitoring .

As you suggested this looks quite a bit challenging since a lot has been changed from 2 to 7. Typical endpoint is configured with Configure.With.ExceptAssembly.CustomDI.MSMQ.Log4Net.XmlSerialization.Saga() . Seems like everything else is straight forward in 7 except Custom DI with Spring . DI is configured with IContainer and Spring application context with xml bean mapping .

We don’t want to upgrade our existing Spring.NET version since it might create other complications with NHibernate .

We are thinking of a POC . Any help is much appreciated.

In most scenarios, you can configure Spring before, and then pass it to NServiceBus as a pre-configured container:

https://docs.particular.net/nservicebus/dependency-injection/spring#using-an-existing-context

What version of NHibernate are you using? (Note that NServiceBus v7 requires at least 4.0.4.4000 https://www.nuget.org/packages/NServiceBus.NHibernate/8.0.0)