NserviceBus翻譯之FAQ:MsmqTransportConfig配置項

小弟季義欽發表於2013-08-15

MsmqTransportConfig

Last Updated: Nov 28, 2012 10:58AM IST

這個配置項定義了MSMQ傳輸的特性,對於更多的MSMQ的背景知識,請看here,下面是一個MsmqTransportConfig配置項的例子:

<MsmqTransportConfig ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5"/>

ErrorQueue屬性

從版本三開始,需要採用下面的配置項來宣告一個錯誤佇列:

<section name="MessageForwardingInCaseOfFaultConfig"

type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig,NServiceBus.Core" />

針對該配置項的值定義如下:

<MessageForwardingInCaseOfFaultConfig ErrorQueue="error"/>

MsmqTransportConfig配置項中的這個ErrorQueue是為了相容更早以前的版本。

ErrorQueue定義了當處理失敗之後錯誤資訊發往的佇列的名稱,這可能是一個本機的佇列,也可以是一個遠端機器的名稱,名稱定義的格式應該遵循:"queueName@remoteMachineName"。

假如你不定義這個錯誤佇列的話,NServiceBus將會報出一個"Could notfind backup configuration section 'MsmqTransportConfig' in order to locate theerror queue." 異常。 關於更多的處理失敗的訊息的知識可以從here獲取。

NumberOfWorkerThreads屬性

這個屬性指明瞭從input queue接收訊息的執行緒的數量。 這個屬性不影響能夠使用匯流排去傳送/釋出訊息的執行緒的數量。

換句話說只決定接收訊息的執行緒數量,不影響傳送/釋出訊息的執行緒的數量。

MaxRetries屬性

這個屬性與ErrorQueue 這個屬性相關,表明了處理失敗之後,將會重試幾次,才會把錯誤訊息放到error queue中,預設是5。

相關文章