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" />

Другие вопросы по тегам