0
我在NHibernate中使用NServiceBus並在我自己的進程中託管總線。我使用的配置是:NServiceBus 4.6.5 NHibernate的佐賀Persister不堅持佐賀數據
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數據庫中創建了我的傳奇表。
但是,當我的佐賀運行並完成NServiceBus似乎沒有插入記錄到我的佐賀表。
表格在那裏,只是沒有數據。
這應該是預期的嗎?在saga成功完成後,NServiceBus是否會在持久性中刪除傳奇條目?