私たちは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で複数のサーバー間で監査することはできますか?
ありがとうございました。あなたのコードから
サンプルコードで正しくないエンドポイント名を更新しました。感謝は、発信キューを確認します – jonho
私たちはいくつかの未処理のメッセージを発信キューに入れました。 2台のサーバー間にLocal Traffic Managerを再構成していました。つまり、BusinessEndpointを再起動し、監査が正常に機能することだけでした。 – jonho