Helpful information to includeProduct name: Upgrading from NSB 4.7.x to NSB 6.3
Version: 6.3
Description:
Hi All,
I have a heap of NSB 4.7 non-saga services that use a custom entity framework timeout persistence which i'm trying to upgrade to NSB 6.3.
These services used to be on NSB 2.5, which had access to the standalone timeout service which we used without problems. I think it was in V4 that timeouts were then pulled into the service.
Those services were already using EF4, so it was simple to implement a class inheriting IPersistTimeouts, using some third-party blog post code as a starting point. This code's been running in production for nearly two years.
This was how i registered it in endpointconfig.cs
Configure.Features.Enable<TimeoutManager>();
config.Configurer.ConfigureComponent<TimeOutPersister>(DependencyLifecycle.SingleInstance);
I'm now attempting the upgrade to NSB 6.3 and am having trouble finding out where to start.
The closest I've got so far is this.
configuration.EnableFeature<TimeoutManager>();
configuration.UsePersistence<ITimeoutPersistence, StorageType.Timeouts>(); //where ITimeoutPersistence : NServicebus.Persistence.PersistenceDefinition
But i can find no guidance on how to implement a class for PersistenceDefinition. SourceCode for existing definitions doesn't help explain it.
Has anybody attempted this with V6?
I thought that IPersistTimeouts didn't exist, but it does exist in 6.3.x. I just have no idea how to register it inside EndpointConfiguration.
Cheers,
Matt