2016-10-14 14 views
0

私たちはNSB 5を使用しています。 Server1にNSBエンドポイント(BusinessEndpoint)があり、Server2にNSB監査エンドポイント(AuditEndpoint)があります。 Server1のNServiceBus:異なるサーバー上のエンドポイントの監査

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がそのようにように設定されて

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

    "BusinessEndpointは" "AuditEndpoint" は、以下の構成を使用したために、監査メッセージを送信するように設定されていますNServiceBusを使用してServer2のエンドポイントに通常の(監査以外の)メッセージを送信します。

  • 監査は、Server2(AuditEndpointと同じサーバー)にインストールされているすべてのエンドポイントで機能します。

ただし、AuditEndpointはBusinessEndpointからの監査メッセージを受け取っていないようです。

1つのAuditEndpointで複数のサーバー間で監査することはできますか?

ありがとうございました。あなたのコードから

答えて

1

AuditEndpointの名前がauditingissueあるように見える(そしてそれはendpoint's input queue?の名前です)。これは、監査メッセージが間違ったキューに送信されている意味

、何が間違っ聞こえること

です

監査は、Server2(AuditEndpointと同じサーバー)にインストールされているすべてのエンドポイントで機能します。

これを確認できますか?

もう1つのチェック対象は発信キューです.MSMQのキューには、送信しようとした監査メッセージが残っている必要があります。 a。間違ったマシン名 b。そのマシンの間違ったキュー(server2)

それは役に立ちますか?

+0

サンプルコードで正しくないエンドポイント名を更新しました。感謝は、発信キューを確認します – jonho

+0

私たちはいくつかの未処理のメッセージを発信キューに入れました。 2台のサーバー間にLocal Traffic Managerを再構成していました。つまり、BusinessEndpointを再起動し、監査が正常に機能することだけでした。 – jonho

関連する問題