2016-10-14 4 views
0

Мы используем NSB 5. У нас есть конечная точка NSB («BusinessEndpoint») на Server1 и конечная точка NSB Audit («AuditEndpoint») на сервере Server2.NServiceBus: конечные точки аудита на разных серверах

"BusinessEndpoint" настроен на отправку аудита сообщений "AuditEndpoint", используя следующую конфигурацию:

<section name="AuditConfig" type="NServiceBus.Config.AuditConfig, NServiceBus.Core" /> 
... 
<AuditConfig QueueName="[email protected]" /> 

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")); 
    } 
} 
  • Endpoints на Server1 может отправлять обычные (не аудиторские) сообщения конечным точкам на Server2 с помощью NServiceBus.
  • Аудит работает для всех конечных точек, установленных на сервере Server2 (тот же сервер, что и AuditEndpoint).

Однако AuditEndpoint не получает никаких сообщений аудита из BusinessEndpoint.

Возможно ли проводить аудит на разных серверах только с одной аудиторией?

Благодарим за помощь.

ответ

1

Из кода он выглядит как имя AuditEndpoint является auditingissue (и это название endpoint's input queue?)

Это означает, что сообщения аудита посылаются в ту очередь, что звучит неправильно это

Аудит работает для всех конечных точек, установленных на сервере Server2 (тот же сервер, что и AuditEndpoint).

Можете ли вы проверить это?

Еще одна вещь, которую нужно проверить, - это ваши исходящие очереди, в очереди очередей MSMQ вы должны иметь аудиторские сообщения, которые пытались отправить: a. неправильное имя машины b. неправильная очередь на этой машине (server2)

Это помогает?

+0

Я обновил имя конечной точки, что было неверно в моем примере кода. Спасибо, проверит исходящую очередь – jonho

+0

У нас были некоторые необработанные сообщения, сидящие в исходящей очереди. На двух серверах произошла реконфигурация локального диспетчера трафика. Таким образом, все, что требовалось, это перезапуск BusinessEndpoint, и сейчас работает аудит. – jonho

Смежные вопросы