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是否會在持久性中刪除傳奇條目?

回答

1

我自己的問題的答案是是的

NServiceBus在傳奇完成後刪除傳奇數據表中的條目。

相關問題