【发布时间】:2013-01-25 02:13:05
【问题描述】:
我们在 Web 应用程序中使用 NServiceBus,最近发现有时尽管处于连接状态,但仍有一些消息仅位于出站队列中,但从未离开。删除它们的最快解决方案是重新启动 MSMQ 服务。我遇到的一个问题是,当重新启动或停止 MSMQ 服务时,CPU 会跳到 100%。
有没有人遇到过这种情况并找到防止这种高负载的方法。我不喜欢仅仅因为停止服务而中断的想法?我知道的一种方法是使用仅发送模式,但这并不理想。
更新: global.asax 应用程序启动中使用的配置代码:
IBus bus = Configure
.With()
.DefaultBuilder()
.FileShareDataBus("c:\\storage")
.XmlSerializer()
.MsmqTransport()
.IsTransactional(false)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.CreateBus()
.Start(() => Configure.Instance.ForInstallationOn<Windows>().Install());
【问题讨论】:
-
你用的是什么版本的nsb?
-
我使用的是 nsb 3.3.0。我还更新了问题以添加配置代码。
标签: nservicebus