NServiceBus:审计不同服务器上的端点

时间:2016-10-14 13:01:56

标签: nservicebus

我们正在使用NSB 5。 我们在Server1上有一个NSB端点(" BusinessEndpoint"),在Server2上有一个NSB审计端点(" AuditEndpoint")。

" BusinessEndpoint"配置为将审计消息发送到" AuditEndpoint"使用以下配置:

<section name="AuditConfig" type="NServiceBus.Config.AuditConfig, NServiceBus.Core" />
...
<AuditConfig QueueName="AuditEndpoint@Server2" />

AuditEndpoint设置如下:

public class EndpointConfig : IConfigureThisEndpoint, AsA_Server
{
    public void Customize(BusConfiguration configuration)
    {
        configuration.EndpointName("AuditEndpoint");
        configuration.UseSerialization<JsonSerializer>();
        configuration.UsePersistence<NHibernatePersistence>();

        // stop processing incoming subscription control messages
        configuration.Pipeline.Remove("ProcessSubscriptionRequests");

        var conventions = configuration.Conventions();

        conventions.DefiningMessagesAs(t => t.Namespace != null && t.Namespace.Contains("Messages"));
    }
}
  • Server1上的端点可以使用NServiceBus向Server2上的端点发送正常(非审计)消息。
  • 审核适用于Server2上安装的所有端点(与AuditEndpoint相同的服务器)。

但是,AuditEndpoint似乎没有收到来自BusinessEndpoint的任何审核消息。

是否可以通过一个AuditEndpoint跨不同服务器进行审计?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

从您的代码看起来,AuditEndpoint的名称似乎是auditingissue(这是endpoint's input queue?的名称)

这意味着审计消息被发送到错误的队列,听起来是错误的

  

审核适用于Server2上安装的所有端点(与AuditEndpoint相同的服务器)。

你能检查一下吗?

要检查的另一件事是您的传出队列,在MSMQ的外出队列中,您应该将审核消息卡在试图发送到: 一个。错误的机器名称 湾该机器上的错误队列(server2)

这有帮助吗?