0
我們計劃在多個NSB主機之間共享相同的持久性數據庫(NserviceBus/Persistence)。如何在NserviceBus/Persistence SQL實例中配置不同的表名稱:
在這種情況下,我們需要根據主機區分TimeOutEntity,MessageStore,OutboxRecord 。
有沒有一種配置方式來指定主機在NSB持久性數據庫中使用的表名。
我們計劃在多個NSB主機之間共享相同的持久性數據庫(NserviceBus/Persistence)。如何在NserviceBus/Persistence SQL實例中配置不同的表名稱:
在這種情況下,我們需要根據主機區分TimeOutEntity,MessageStore,OutboxRecord 。
有沒有一種配置方式來指定主機在NSB持久性數據庫中使用的表名。
而不是使用不同的表名來存儲每個端點,我建議保持名稱相同,但使用不同的模式,與端點/業務相匹配。使用開箱即用的表名就意味着更容易的使用體驗,因爲您可以準確地指向端點的表。
要更改SQL持久性的架構,你可以這樣做:
var persistence = endpointConfiguration.UsePersistence<SqlPersistence>();
persistence.Schema("myschema");
對於SQL傳輸你可以這樣做的:
var transport = endpointConfiguration.UseTransport<SqlServerTransport>();
transport.DefaultSchema("myschema");
//For error/audit queues
transport.UseSchemaForQueue("error", "myschema");
transport.UseSchemaForQueue("audit", "myschema");
有關部署選項(多目錄VS架構信息)看看文檔頁面here。
謝謝哈迪。我們正在使用Nhibernatepersistence。因此我認爲改變Schema就是這樣。 var pers = configuration.UsePersistence(); pers.UseConfiguration(新配置() { 屬性= { 新KeyValuePair <字符串,字符串>(NHibernate.Cfg.Environment.DefaultSchema 「MYSCHEMA」) } }); –
我是否也應該更改UseTransport中的架構 –