我们正在使用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"));
}
}
但是,AuditEndpoint似乎没有收到来自BusinessEndpoint的任何审核消息。
是否可以通过一个AuditEndpoint跨不同服务器进行审计?
感谢您的帮助。
答案 0 :(得分:1)
从您的代码看起来,AuditEndpoint的名称似乎是auditingissue
(这是endpoint's input queue?的名称)
这意味着审计消息被发送到错误的队列,听起来是错误的
审核适用于Server2上安装的所有端点(与AuditEndpoint相同的服务器)。
你能检查一下吗?
要检查的另一件事是您的传出队列,在MSMQ的外出队列中,您应该将审核消息卡在试图发送到: 一个。错误的机器名称 湾该机器上的错误队列(server2)
这有帮助吗?