0

我正在围绕 NServiceBus 构建一些监控工具,目前我正在订阅 ITransport 接口上的一些事件:

ITransport Events:
TransportMessageReceived 
FailedMessageProcessing
FinishedMessageProcessing 

订阅TransportMessageReceived事件时,我会在事件 args 中获得对当前消息的引用。但是,当FinishedMessageProcessing事件引发时,它似乎不包含对已完成消息的引用。这适用于FailedMessageProcessing包含异常但不包含导致异常的消息的事件。

我想知道在引发 FailedMessageProcessing 和 FinishedMessageProcessing 事件时是否有某种方法可以获取对消息的引用

谢谢!

4

1 回答 1

2

对于失败的消息,您可以实现以下接口来获取对消息的引用:

 public interface IManageMessageFailures
{
    void SerializationFailedForMessage(TransportMessage message, Exception e);

    void ProcessingAlwaysFailsForMessage(TransportMessage message, Exception e);

    void Init(Address address);

}

请注意,如果您使用它,那么您将无法立即使用二级重试。

于 2012-08-08T17:47:37.850 回答