NServiceBus 4.6.5 NHibernate Saga Persister не сохраняет данные Saga
Я использую NServiceBus с NHibernate и хостинг шины в моем собственном процессе. Конфигурация, которую я использую:
Configure.ScaleOut(s => s.UseSingleBrokerQueue());
Configure.Transactions.Enable();
Configure.Features.Enable<Sagas>();
Configure.Serialization.Xml();
return
Configure.With()
.DefaultBuilder()
.DefiningCommandsAs(type => type.Namespace != null && type.Namespace.EndsWith("Contracts.Commands"))
.DefiningEventsAs(type => type.Namespace != null && type.Namespace.EndsWith("Contracts.Events"))
.DefiningMessagesAs(type => type.Namespace != null && type.Namespace.EndsWith("Contracts.Messages"))
.RijndaelEncryptionService()
.UseTransport<RabbitMQ>()
.PurgeOnStartup(false)
.UnicastBus()
.RunHandlersUnderIncomingPrincipal(false)
.ImpersonateSender(false)
.LoadMessageHandlers()
.UseNHibernateSubscriptionPersister()
.UseNHibernateSagaPersister()
.UseNHibernateTimeoutPersister()
.DisableTimeoutManager()
.CreateBus()
.Start
(() => {
Configure.Instance.LicensePath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "NServiceBus-Licence.xml"));
Configure.Instance.ForInstallationOn<Windows>().Install();
});
с:
<connectionStrings>
<add name="NServiceBus/Transport" connectionString="host=localhost" />
<add name="NServiceBus/Persistence" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=testdb;Persist Security Info=True; Connect Timeout=200; Pooling=True; Max Pool Size=5000; Async=true; Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="NServiceBus/Persistence/NHibernate/dialect" value="NHibernate.Dialect.MsSql2012Dialect" />
<add key="NServiceBus/Persistence/NHibernate/connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
<add key="NServiceBus/Persistence/NHibernate/connection.driver_class" value="NHibernate.Driver.Sql2008ClientDriver" />
</appSettings>
Эта конфигурация создает таблицы для моих саг в моей базе данных SQL Server с полями, которые я указал в моей саге, и это здорово.
Однако, когда моя Saga запускается и завершается, NServiceBus, кажется, не вставил записи в мои таблицы саги.
Таблицы есть, просто нет данных.
Стоит ли этого ожидать? Удаляет ли NServiceBus записи саги после ее успешного завершения?
1 ответ
Решение
Ответ на мой вопрос - да.
NServiceBus удаляет записи в таблицах данных саги после ее завершения.