我剛開始玩nservice總線,並試圖讓出版工作。我有一個聽衆,似乎缺少一些消息。它被配置爲NServiceBus監聽器丟失信息
<MsmqTransportConfig
InputQueue="InformMessages"
ErrorQueue="error"
NumberOfWorkerThreads="5"
MaxRetries="5"
/>
有趣的是,如果我將NumberOfWorkerThreads設置爲1,它始終會漏掉其他所有消息。對於較大的值,它似乎不那麼確定。在我的消息處理程序我有
class MessageHandler : IMessageHandler<ICourseRegister>
{
public void Handle(ICourseRegister message)
{
Console.WriteLine("Message dun got gotted");
Console.WriteLine("Course name is: " + message.CourseName);
}
private IBus bus;
public IBus Bus
{
set { this.bus = value; }
}
}
和總線配置了
var bus = NServiceBus.Configure.With()
.SpringBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.LoadMessageHandlers()
.CreateBus()
.Start();
有沒有這樣的,它被釋放準備接收下一條消息或東西,我需要做的,處理程序結束我需要做一些配置,以便在處理程序繁忙時有一個客戶端隊列來保留消息。發送消息之間的時間似乎並不重要,可能是20秒,聽衆仍然無法獲得所有消息。
就是這樣,謝謝。 – stimms 2009-11-03 17:53:57