NServiceBus 4 без RavenDB
Есть ли возможность использовать NServicebus 4 без установки RavenDB? Мы используем 2.5, и я хотел бы перейти на 4, но это будет непросто, если нам нужно установить RavenDB на нашем производственном сервере. Есть ли работа вокруг?
1 ответ
Да. Вы можете использовать NServiceBus без RavenDB. В то время как хранилище подписки по умолчанию (для публикации / подписки), сохранение саги по умолчанию и сохранение по умолчанию - RavenDB, при использовании пользовательской инициализации, как показано ниже, вы можете вместо этого переключить их на постоянство NHibernate, в этом случае вам не понадобится RavenDB.
class CustomInit : INeedInitialization
{
public void Init()
{
Configure.Instance.UseNHibernateSubscriptionPersister();
Configure.Instance.UseNHibernateSagaPersister();
Configure.Instance.UseNHibernateTimeoutPersister();
}
}
А также app.config для использования NHibernate еще более упрощен в 4.x
<connectionStrings>
<add name="NServiceBus/Persistence" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=nservicebus;Integrated Security=True"/>
и укажите другие необходимые настройки NHibernate, как показано ниже в appSettings:
<appSettings>
<!-- dialect is defaulted to MsSql2008Dialect, if needed change accordingly -->
<add key="NServiceBus/Persistence/NHibernate/dialect" value="NHibernate.Dialect.MsSql2008Dialect" />
<!-- other optional settings examples -->
<add key="NServiceBus/Persistence/NHibernate/connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
<add key="NServiceBus/Persistence/NHibernate/connection.driver_class" value="NHibernate.Driver.Sql2008ClientDriver" />