1
我们使用NServiceBus将有关一个系统中数据更改的消息传播到我们环境中的其他系统。NServiceBus在致命错误上停止
当我们在我们的一个客户端(接收)系统中遇到异常时,我们想停止处理消息而不从队列中移除失败的消息,以便我们可以调查问题并从同一地点队列。
完成此操作的最佳方法是什么?
编辑: 继承人我的当前设置
Configure.With()
.DefiningCommandsAs(t => typeof(ICommand).IsAssignableFrom(t))
.DefiningEventsAs(t => typeof(IEvent).IsAssignableFrom(t))
.DefiningMessagesAs(t => typeof(IMessage).IsAssignableFrom(t))
.Log4Net<NlogAppenderForLog4Net>(a => { })
.NinjectBuilder(Kernel)
.XmlSerializer()
.MsmqTransport()
.DefineEndpointName("consumer.input")
.IsTransactional(true)
.PurgeOnStartup(false)
.MsmqSubscriptionStorage("consumer")
.UnicastBus()
.LoadMessageHandlers()
.ImpersonateSender(false)
.CreateBus().Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());
你是如何托管它? – 2012-03-13 22:11:56
@JoachimIsaksson在windows服务中,我的NServiceBus config中添加了ive – 2012-03-14 00:03:01
您可以通过更改saga的状态然后将所有后续消息推送到超时服务来完成此操作。大可能?这是'排队中的同一个地方',让我很担心。您确定在正常处理过程中,所有消息都以一致的顺序接收和处理吗? – 2012-03-14 00:33:48